标题: [文件操作] 批处理for和判断语句怎样根据系统版本执行不同的命令? [打印本页]
作者: winfly 时间: 2010-10-6 23:45 标题: 批处理for和判断语句怎样根据系统版本执行不同的命令?
在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
我初步定了一个思路:- @echo off
- %SystemDrive%\windows\system32\systeminfo.exe|findstr /i "OS 名称 OS 版本"
- 下面就不知道怎么搞了,如果把systeminfo >1.txt
- 那怎么用for /f "evol= tokens= delims= " c% in (1.txt) do echo %c%
- if %c%=="Windows XP SP2" goto a
- if %c%=="Windows XP SP3" goto b
- else goto c
- :a
- :b
- :c
- cls
- echo ERROR!程序出错,正在关闭程序!
- ping 127.0.0.1 -n 5 <nul
- exit
复制代码
最最最关键的就是不会用for 语句把systeminfo 中的Windows XP SP3提出来赋给c变量啊?
求哪位大侠帮个忙,如果非要我搞只怕要搞几天咯
作者: yangfengoo 时间: 2010-10-7 09:09
- @echo off
- systeminfo | findstr /c:"Pack 3" && echo b || echo a
- pause
复制代码
作者: winfly 时间: 2010-10-8 21:58
我需要的是显示完整的如windows xp sp2
a是脚本的下一个步骤,b也是
并不是要你echo a
而是当是sp2时 脚本goto a
作者: Batcher 时间: 2010-10-8 22:11 标题: 回复 3楼 的帖子
以你的水平,还不够修改2楼的代码么?
作者: winfly 时间: 2010-10-11 19:31
我知道一个很好的办法了,可以这样:
@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
作者: winfly 时间: 2010-11-8 17:14 标题: 批处理检测网卡adapter状态
经常有家庭用户和公司局域网用户突然不能上网,或者重装系统或者动了系统哪里就不能上网了,论坛里各位大虾能不能做一个网络维护批处理:
开机或重启后,运行此批处理,检测本机所有网卡adapter和状态并显示给用户判断:
例如:1本地连接 rtl8139 已连接
2本地连接2 tp-link 已禁用
3无限连接 不能获取IP地址
4无线连接1 驱动不正常
作者: andyrave 时间: 2010-11-9 01:59
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!
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |