Другие языки программирования и технологии

BAT и CMD узнать версию ОС

задача: узнать версию ОС из командной строки точнее из BATника. например если ОС windows XP то перейти на метку XP а если windows 7 то на метку 7. надеюсь понятно написал зарание спасибо!!!
echo Win7 или WinXP?
chcp 866
pause

cd %SYSTEMDRIVE%\Users\ && cd c:\win\7 || cd c:\win\xp
pause

Разъяснение
если не находит папку users на диске где установлена винда то переходит к c:\win\xp
если найдет папку users на диске где установлена винда то переходит к c:\win\7

Спасибо что задали этот вопрос! Теперь я сам буду знать! Кста писал с нуля, просто в ум пришла такая идея "проверка папок" и решил написать=)
АН
Андрей Новиков
3 954
Лучший ответ
Команда VER
Версию ОС батником можно так узнать
wmic.exe os get caption
pause

про метки позабыл) ) ...может подскажут
РД
Роман Дема
27 745
echo off
cls
for /f "tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| find "ProductName"') do set ProductName=%%b

if "%ProductName%" == "Microsoft Windows XP" goto Win_XP
if "%ProductName%" == "Windows 7 Ultimate" goto Win_7
if "%ProductName%" == "Windows 7 Enterprise" goto Win_7
if "%ProductName%" == "Windows 7 Professional" goto Win_7
if "%ProductName%" == "Windows 7 Home Premium" goto Win_7
if "%ProductName%" == "Windows 7 Home Basic" goto Win_7
if "%ProductName%" == "Windows 7 Starter" goto Win_7

:Win_XP
echo windows xp
pause
exit

:Win_7
echo windows 7
pause
exit
Андрей Севастьянов прав, но как вариант можно юзать переменные окружения.
Пример:
echo %OS%
Виталий, как выяснилось Windows NT4 не имеет такого параметра в реестре. и есть таки недочеты в твоем коде:
Вот исправленный вариант:
echo off
for /f "tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| find "ProductName"') do set ProductName=%%b

if "%ProductName%" == "Microsoft Windows XP" goto Win_XP
if "%ProductName%" == "Windows 7 Ultimate" goto Win_7
if "%ProductName%" == "Windows 7 Enterprise" goto Win_7
if "%ProductName%" == "Windows 7 Professional" goto Win_7
if "%ProductName%" == "Windows 7 Home Premium" goto Win_7
if "%ProductName%" == "Windows 7 Home Basic" goto Win_7
if "%ProductName%" == "Windows 7 Starter" goto Win_7

goto End

:Win_XP
echo windows xp
goto End

:Win_7
echo windows 7
goto End

:End
pause