无忧启动论坛
标题:
怎么用批处理获取系统版本号并判断?
[打印本页]
作者:
icevan
时间:
2014-12-5 01:30
标题:
怎么用批处理获取系统版本号并判断?
for /f "tokens=4 delims=. " %%i in ('ver') do (set ver=%%i)
if %ver% lss 6 (
goto nt5
) else (
goto nt6
)
我用了个笨办法来判断的?
还有更好的方法吗?
作者:
icevan
时间:
2014-12-5 10:33
本帖最后由 icevan 于 2014-12-5 11:37 编辑
在XP下要出错。
XP下显示的是Microsoft Windows XP [版本 5.1
WIN7下是Microsoft Windows [版本 6.2
重新修改了下
for /f "tokens=2 delims=[]" %%i in ('ver') do (set ver=%%i)
if %ver:~3,3% lss 6 (
goto nt5
) else (
goto nt6
)
作者:
ku588
时间:
2014-12-5 13:06
本帖最后由 ku588 于 2014-12-5 13:11 编辑
不知道是不是你想要的:
@echo off
for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b
set b=%b:* =%
call:%b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%
pause&exit
:5.1.6
echo 系统版本: winxp_32位
goto:eof
:5.2.6
echo 系统版本: win2003_32位
goto:eof
:5.2.4
echo 系统版本: win2003_64位
goto:eof
:6.1.6
echo 系统版本:win7_32位
goto:eof
:6.1.4
echo 系统版本:win7_64或win2008_64位
goto:eof
:6.2.6
echo 系统版本:win8_32位
goto:eof
:6.2.4
echo 系统版本:win8_64或win2012_64位
goto:eof
作者:
icevan
时间:
2014-12-5 14:53
本帖最后由 icevan 于 2014-12-5 16:57 编辑
set b=%b:* =%
这句看不懂
只是为了判断NT5和NT6。因为2个系统的很多命令回显不一样。
最终这样:
for /f "tokens=2 delims=[" %%i in ('ver') do (set ver=%%i)
取得版本号
%ver:~3,3%
作者:
wuyu12315
时间:
2014-12-8 23:12
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3