2015-04-17 2 views
-1

Я хочу код, который прыгать в :jumpto если окна старше окна 8 (выиграть 7 лет и старше)Batch исключить окна, с помощью команды вер

IF "windows is older than Windows 8" 6.2.9200.16384 goto jumpto' 

Я не могу сформулировать правильный код. Любой, кто может мне помочь, пожалуйста?

Я думаю, если я смогу использовать ver и рассчитать, если числа ниже 6.2?

+0

Я должен спросить, почему вы хотите это сделать. Проверка версии ОС почти всегда является неправильным решением проблем совместимости. –

ответ

1

Это должно работать:

@ECHO OFF 
FOR /F "tokens=*" %%a IN ('ver') DO (
    SET ver=%%a 
) 
SET v1=%ver:~27,1% 
SET v2=%ver:~29,1% 
IF %v1% LSS 6 GOTO JUMPTO 
IF %v2% LSS 2 GOTO JUMPTO 
ECHO doing something 
PAUSE 
GOTO:EOF 
:JUMPTO 
ECHO Windows version too old! 
PAUSE 
+0

Танк ты так барахло! –

+0

Возможно ли отредактировать это для работы с окнами 10? Или, например, если windows 7 goto: test1 windows 8.1 goto: test2 windows10 goto test3 –

0
@echo off 
cls 
Setlocal EnableDelayedExpansion 

for /F "tokens=4,5,6 delims=[]. " %%A In ('VER') Do (
    (Set /A "_MAJ=%%A") 
    (Set /A "_MIN=%%B") 
    (Set /A "_BLD=%%C") 
    ) 

echo !_MAJ! 
echo !_MIN! 
echo !_BLD! 

endlocal 

Обратите внимание на порядок "delims =" заявление. Пространство должно быть последним.