找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23429|回复: 6

[文件操作] 批处理for和判断语句怎样根据系统版本执行不同的命令?

[复制链接]
发表于 2010-10-6 23:45:22 | 显示全部楼层 |阅读模式
在XP中有一个systeminfo命令可以显示系统状态,我想做一个脚本来判断本系统是windows xP SP2还是windows xp sp3,如果是windows xp sp2 显示出来并走a
如果是windows xp sp3也显示出来走b
1 首先判断并显示:您使用的系统是Windows XP SP2 或者Windows XP SP3
2 其次就是如果是SP2就走a;如果是SP3就走b
我初步定了一个思路:
  1. @echo off
  2. %SystemDrive%\windows\system32\systeminfo.exe|findstr /i "OS 名称 OS 版本"
  3. 下面就不知道怎么搞了,如果把systeminfo >1.txt
  4. 那怎么用for /f "evol=    tokens= delims= " c% in (1.txt) do echo %c%
  5. if %c%=="Windows XP SP2" goto a
  6. if %c%=="Windows XP SP3" goto b
  7. else goto c
  8. :a
  9. :b
  10. :c
  11. cls
  12. echo ERROR!程序出错,正在关闭程序!
  13. ping 127.0.0.1 -n 5 <nul
  14. exit
复制代码
最最最关键的就是不会用for 语句把systeminfo 中的Windows XP SP3提出来赋给c变量啊?
求哪位大侠帮个忙,如果非要我搞只怕要搞几天咯
发表于 2010-10-7 09:09:45 | 显示全部楼层
  1. @echo off
  2. systeminfo | findstr /c:"Pack 3" && echo b || echo a
  3. pause
复制代码
 楼主| 发表于 2010-10-8 21:58:20 | 显示全部楼层
我需要的是显示完整的如windows xp sp2   
a是脚本的下一个步骤,b也是
并不是要你echo a
而是当是sp2时  脚本goto a
发表于 2010-10-8 22:11:30 | 显示全部楼层

回复 3楼 的帖子

以你的水平,还不够修改2楼的代码么?
 楼主| 发表于 2010-10-11 19:31:25 | 显示全部楼层
我知道一个很好的办法了,可以这样:
@echo off
systeminfo >1.txt
然后用for语句把OS 版本里的 2或者3  提出来赋给变量c
if %c%==2 goto a
if %c%==3 goto b
else goto error
:a
echo 您使用的系统是Windows XP SP2
--------
-------
:b
echo 您使用的系统是Windwos XP SP3
-------
----
:error
echo ERROR:程序出错正在关闭!
ping 127.0.0.1 -n 6 >nul
exit
 楼主| 发表于 2010-11-8 17:14:33 | 显示全部楼层

批处理检测网卡adapter状态

经常有家庭用户和公司局域网用户突然不能上网,或者重装系统或者动了系统哪里就不能上网了,论坛里各位大虾能不能做一个网络维护批处理:
开机或重启后,运行此批处理,检测本机所有网卡adapter和状态并显示给用户判断:
例如:1本地连接 rtl8139 已连接
      2本地连接2 tp-link 已禁用
      3无限连接 不能获取IP地址
      4无线连接1 驱动不正常
发表于 2010-11-9 01:59:25 | 显示全部楼层
systeminfo 太麻烦了

code:
****************************************
@echo off

ver | find /i "2180" && goto SP2

ver | find /i "2600" && goto SP3

:SP2
ECHO windows xp sp2


:SP3
ECHO windows xp sp3

EXIT

*****************************************

"2180"和"2600" 是SP的代码  用VER命令查查  好久不用XP了  不知道版本号是多少   你自己确认一下  

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

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 02:06 , Processed in 0.023415 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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