![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 19:01 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » For 循环中 ERRORLEVEL 值的问题!!! |
| 可打印版本 976 / 2 |
| 第1楼 XinStar | 发表于 2008-03-14 16:28 |
| 初级用户 发帖 11 积分 30 | |
|
For 循环中 ERRORLEVEL 值的问题!!! 批处理内容如下:
for /f %%i in (Server.ini) Do Ping %%i -n 1|Find /I "Reply From" >Nul&If "%ERRORLEVEL%"=="1" Server.ini文件内容如下: ZjjHs1.3322.Org ZjjHs2.3322.Org 最后的执行结果怎么会是这样呢???ERRORLEVEL为什么总是0!!! for /F %i in (Server.ini) Do Ping %i -n 1 | Find /I "Reply from" 1>Nul If "0" == "1" Ping ZjjHs1.3322.Org -n 1 | Find /I "Reply from" 1>Nul & If "0" == "1" Ping ZjjHs2.3322.Org -n 1 | Find /I "Reply from" 1>Nul & If "0" == "1" ... 为什么ping不通的时候,,ERRORLEVEL的值还是0呢??? 不加在FOR语句中就不会出现这种情况!!! 请高手指正,谢谢!!! [ Last edited by XinStar on 2008-3-14 at 04:43 PM ] |
|
| 第2楼 fastslz | 发表于 2008-03-14 17:30 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
for 语句中尽量不要用ERRORLEVEL
for /f %%i in (Server.ini) Do Ping %%i -n 1 || echo %%i 不通 |
|
| 第3楼 XinStar | 发表于 2008-03-14 17:54 |
| 初级用户 发帖 11 积分 30 | |
|
非常感谢fastslz兄,给了我思路!!!
我把批处理修改如下,终于达到了我想到的效果: @echo off Del Online.txt echo 当前在线的服务器有: >Online.txt for /f "skip=1 eol= Last edited by XinStar on 2008-3-14 at 05:55 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |