2017-03-01 95 views
1

有關於堆棧溢出操作系統版本的問題,但不是關於Windows名稱,我正在尋找使用Node.js找出Windows名稱。如何使用Node.js獲取Windows版本?

我都看着這麼多的模塊,如osplatformgetos使用process等,發現這些都有助於使得到操作系統的說明,工藝環境等。我能得到它是Linux或Windows也即我正在使用哪個平臺。

但是,我該如何檢查,是Windows 7還是8,它是使用Node.js安裝在我的系統上的?

我使用kinect2模塊在其中工作在Windows 8罰款我Node.js的項目,但我期待用它在Windows 7

我已經檢查了Kinect2將與Windows 7不

工作
+2

的可能的複製[Node.js的獲取/確定OS版本(http://stackoverflow.com/questions/14989081/node-js-to-get-determine-os-version) –

回答

1

您可以從命令行使用ver找到Windows版本。例如,我的機器上:

> ver 

Microsoft Windows [Version 10.0.14393] 

從節點執行此,使用child_process.execSync方法:

var versionString = require('child_process').execSync('ver').toString().trim() 

整個.toString().trim()業務是因爲命令的原始輸出回來作爲Buffer,在開始和結束時都有換行符。

+1

我編輯了答案。使用這個我可以得到窗口名稱,但我不尋找Jugaad(不知道怎麼稱呼jugaad英文^ _ ^)。我正在尋找標準代碼。 – Deep

+0

據我所知,沒有特定於節點的API會返回正在運行的特定版本的操作系統。您將不得不求助於調用操作系統特定的API(例如Windows上的'ver'和Linux上的'uname')以獲得有關OS – rossipedia

+0

@DeepKakkar編程方面的詳細信息,「jugaad」可以鬆散地翻譯爲hack –

-1
​​

參考此鏈接爲更多的參考資料: https://millermedeiros.github.io/mdoc/examples/node_api/doc/os.html

另一種方法可以是故宮圖書館:「平臺」

檢查了這一點:https://www.npmjs.com/package/platform

+1

我認爲這將會返回'Windows_NT'幾乎所有版本的Windows,對吧? – rossipedia

+0

是的我越來越windows_NT。這實際上意味着什麼? – Deep

+0

那麼,我沒有嘗試在Windows操作系統。但我認爲其他的選擇可以是圖書館的使用:「平臺」。檢查了這一點:https://www.npmjs.com/package/platform – Krisalay

2

使用os.release()。在Windows上,Node C++ code將調用GetVersionEx()

os.release()結果將是這種格式:

${dwMajorVersion}.${dwMinorVersion}.${dwBuildNumber} 

查詢本表(複製from here),以確定Windows版本。

Operating system  dwMajorVersion dwMinorVersion 
------------------------ ---------------- ---------------- 
Windows 10       10    0 
Windows Server 2016     10    0 
Windows 8.1       6    3 
Windows Server 2012 R2    6    3 
Windows 8        6    2 
Windows Server 2012     6    2 
Windows 7        6    1 
Windows Server 2008 R2    6    1 
Windows Server 2008     6    0 
Windows Vista       6    0 
Windows Server 2003 R2    5    2 
Windows Server 2003     5    2 
Windows XP       5    1 
Windows 2000       5    0