Другие языки программирования и технологии
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
Спасибо что задали этот вопрос! Теперь я сам буду знать! Кста писал с нуля, просто в ум пришла такая идея "проверка папок" и решил написать=)
chcp 866
pause
cd %SYSTEMDRIVE%\Users\ && cd c:\win\7 || cd c:\win\xp
pause
Разъяснение
если не находит папку users на диске где установлена винда то переходит к c:\win\xp
если найдет папку users на диске где установлена винда то переходит к c:\win\7
Спасибо что задали этот вопрос! Теперь я сам буду знать! Кста писал с нуля, просто в ум пришла такая идея "проверка папок" и решил написать=)
Команда VER
Версию ОС батником можно так узнать
wmic.exe os get caption
pause
про метки позабыл) ) ...может подскажут
wmic.exe os get caption
pause
про метки позабыл) ) ...может подскажут
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
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%
Пример:
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
Вот исправленный вариант:
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
Похожие вопросы
- В чем разница между BAT и CMD файлами?
- Как правильно создать и использовать radiobutton-ы на win api c++ ?Можно ли из программы узнать версию Windows ?
- Что такое 32 и 64 бита или в чем отличие 32 от 64-битной версии ОС? Что это за биты? и какая лучше для Windows7?
- Как сделать разноцветный текст в .bat/cmd? Как сделать разноцветный текст в .bat/cmd?
- Вопрос сис. админам по CMD : можно ли через .bat файл, скачать с чужого пк файлы на свой . подскажите пару команд !
- как снять полномочия на удаление (и прочее) с файла для "админа", но не "системы" через CMD (BAT) ???
- BAT/CMD Подскажите, какой символ или команду использовать? С командой else у меня ни чего не выходит...
- КАК ОТКЛЮЧИТЬ .bat ВИРУС???
- как прописать bat код в сайт
- Помогите написать какой-нибудь из bat-файлов