Как получить версию Windows с помощью Node.js?

Есть вопросы о версии ОС в Stack Overflow, но не о имени Windows, я ищу, чтобы узнать имя Windows, используя Node.js.

Я просмотрел так много модулей, как os, platform, getos и используя process и т.д., и нашел, что они полезны для получения описания операционной системы, среды процесса и т.д. Я могу получить это Linux или Windows, то есть какая платформа я использую.

Но как я могу проверить, это Windows 7 или 8, которая установлена ​​в моей системе с помощью Node.js?

Я использую модуль kinect2 в моем проекте Node.js, который отлично работает в Windows 8, но я хочу использовать его в Windows 7.

Я проверил, что Kinect2 не будет работать с Windows 7.

Ответ 1

Вы можете найти версию Windows из командной строки, используя ver. Например, на моей машине:

>  ver

Microsoft Windows [Version 10.0.14393]

Чтобы выполнить это из node, используйте метод child_process.execSync:

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

Весь бизнес .toString().trim() заключается в том, что исходный вывод из команды возвращается как Buffer, с символами новой строки в начале и конце.

Ответ 2

Используйте os.release().

> os.release();
'10.0.18362'

В Windows результат находится в форме major.minor.build

Обратитесь к этой таблице (источник), чтобы определить версию Windows:

 Version                                    major.minor   
------------------------------------------ ------------- 
 Windows 10, Windows Server 2016            10.0
 Windows 8.1, Windows Server 2012 R2        6.3
 Windows 8, Windows Server 2012             6.2
 Windows 7, Windows Server 2008 R2          6.1
 Windows Vista, Windows Server 2008         6.0
 Windows XP Professional x64 Edition,       5.2
 Windows Server 2003, Windows Home Server
 Windows XP                                 5.1
 Windows 2000                               5.0

В частности, для Windows 10 обратитесь к этой таблице (источник), чтобы определить точную версию:

 Version           build
----------------- -------
 Windows 10 1903   18362
 Windows 10 1809   17763
 Windows 10 1803   17134
 Windows 10 1709   16299
 Windows 10 1703   15063
 Windows 10 1607   14393
 Windows 10 1511   10586
 Windows 10 1507   10240