Назад | Перейти на главную страницу

Использование systeminfo для получения имени ОС

Мне нужно найти разновидность Windows, которая работает с использованием командного файла, который будет работать на любом устройстве от Windows NT до Windows 7. Я использую метод, основанный на эта страница с небольшими изменениями.

Systeminfo дает представление о работающей Windows. Есть ли какой-нибудь авторитетный список имен, которые можно вернуть? Если да, то где мне найти список?

Я намерен сделать что-то вроде:

 winVer=Unknown

 rem NT doesn't have systeminfo
 ver | find "Windows NT" > nul
 if %errorlevel%==0 set winVer=WinNT

 if exist %SystemRoot%\system32\systeminfo.exe (
  for /f "delims=: tokens=2" %%v in ('sysinfo ^| find "OS Name"') do (
   set verStr=%%v
  )
  echo %verStr% | find "Windows XP" > nul
  if %errorlevel%==0 set winVer=WinXP
  echo %verStr% | find "Windows Vista" > nul
  if %errorlevel%==0 set winVer=WinVista
  ... etc
 )

Спасибо