ver命令显示的操作系统不准确,不推荐用ver获取版本。
我的Win7系统,用ver命令显示的是Microsoft Windows [6.2.7601];用wmic os get caption命令显示的是Microsoft Windows 7 Ultimate
如果用ver的话,要根据版本号来区分操作系统。
Windows 版本号的前三个字符
NT3.5 3.5
NT3.51 3.51
NT4 4.0
2000 5.0
XP 5.1
Sever2003 5.2
Sever2003R2 5.2
Vista 6.0
Sever2008 6.0
7 6.0
Sever2008R2 6.1
8 6.2
代码如下:
@echo off
for /f "delims=" %%a in ('ver') do call :.ver %%a
echo %Winver%
if %Winver%==5.1 goto :XP
if %Winver%==6.1 goto :WIN7
echo 未识别的操作体统版本。
pause
goto :eof
:.ver
if not "%2"=="" shift /1 &goto :.ver
set Winver=%1
set Winver=%Winver:~0,3%
exit /b
:XP
:WIN7
goto :eof
也可以通过wmic获取版本,代码如下:
@echo off
for /f "tokens=3" %%a in ('wmic os get Caption') do if /i "%%a" neq "" set Win=%%a
if /i %Win%==xp goto :XP
if /i %Win%==7 goto :WIN7
echo 未识别操作系统版本。
pause
goto :eof
:XP
:WIN7
goto :eof
搜索关键字。
ver|find /i "windows xp"&&echo ver||echo error
你可以把,ECHO改成跳转或调用即可。
可以使用net config workstation命令,格式如下:
@echo off
net config workstation|find "Windows XP" && goto xp
net config workstation|find "Windows 7" && goto win7
net config workstation|find "Windows 10" && goto win10
:xp
echo 您的系统是XP!
pause
exit
:win7
echo 您的系统是win7!
pause
exit
:win10
echo 您的系统是win10!
pause
exit