Batch file 使用ver命令批处理排除窗口

Batch file 使用ver命令批处理排除窗口,batch-file,goto,Batch File,Goto,我想要一个跳转到:跳转到的代码,如果windows早于windows 8(win 7及更早版本) 我无法制定正确的代码。有谁能帮我吗 我想如果我能用ver来计算数字是否低于6.2 这应该有效: @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 JUMP

我想要一个跳转到
:跳转到
的代码,如果windows早于windows 8(win 7及更早版本)

我无法制定正确的代码。有谁能帮我吗

我想如果我能用ver来计算数字是否低于6.2

这应该有效:

@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

注意“delims=”语句的顺序。空间必须是最后一个。

我得问你为什么要这样做。检查操作系统版本几乎总是解决兼容性问题的错误方法。您是否可以在windows 10上编辑此版本?或者类似于windows 7转到:test1 windows 8.1转到:test2 windows 10转到test3
@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
@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