无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3904|回复: 4
打印 上一主题 下一主题

怎么用批处理获取系统版本号并判断?

[复制链接]
跳转到指定楼层
#
发表于 2014-12-5 01:30:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
for /f "tokens=4 delims=. " %%i in ('ver') do (set ver=%%i)
if %ver% lss 6 (
      goto nt5
) else (
      goto nt6
)
我用了个笨办法来判断的?
还有更好的方法吗?
推荐
发表于 2014-12-5 13:06:38 | 只看该作者
本帖最后由 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

回复

使用道具 举报

3#
发表于 2014-12-8 23:12:56 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

2#
 楼主| 发表于 2014-12-5 14:53:40 | 只看该作者
本帖最后由 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%

回复

使用道具 举报

1#
 楼主| 发表于 2014-12-5 10:33:19 | 只看该作者
本帖最后由 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
)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 03:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表