![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-27 16:39 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,276 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 哪位指导我一下如何用for |
| 可打印版本 768 / 2 |
| 第1楼 wqh | 发表于 2008-04-10 15:18 |
| 新手上路 发帖 6 积分 14 | |
|
哪位指导我一下如何用for 想写个这样的批处理
加入5台电脑ip分别为 192.168.0.2 192.168.0.9 192.168.0.10 192.168.0.20 192.168.0.41 不是连续的ip地址 #--------------------------------------------------------------- @echo off ping 192.168.0.2|find "Reply" if not errorlevel 1 net send 192.168.0.1 I'm Down! ping 192.168.0.9|find "Reply" if not errorlevel 1 net send 192.168.0.1 I'm Down! ping 192.168.0.10|find "Reply" if not errorlevel 1 net send 192.168.0.1 I'm Down! ping 192.168.0.20|find "Reply" if not errorlevel 1 net send 192.168.0.1 I'm Down! ping 192.168.0.41|find "Reply" if not errorlevel 1 net send 192.168.0.1 I'm Down! #---------------------------------------------------------------- 5台电脑可以这样,如果有上几十台上百台,这样写就比较笨了 我就尝试用for语句来实现 把那5个ip分行写道iplist.txt 然后 #---------------------------------------------------------------- @Echo off for /F %%i in (iplist.txt) do ( ping %%i|find "Reply" if not errorlevel 1 net send 192.168.0.1 I'm Down! ) #---------------------------------------------------------------- 因为对for不是很熟,我是想当然写的,所以运行明显有异常 哪位帮我改改 |
|
| 第2楼 bigfaint | 发表于 2008-04-10 15:31 |
| 初级用户 发帖 30 积分 70 | |
|
需要启用变量延迟的
这样写 @Echo off&setlocal EnableDelayedExpansion for /F %%i in (iplist.txt) do ( ping %%i|find "Reply" if not errorlevel 1 net send %%i I'm Down! ) 感觉你写反了,你应该是记录没有开机的电脑吧,那么你应该写if errorlevel 1 net sent... |
|
| 第3楼 wqh | 发表于 2008-04-10 16:38 |
| 新手上路 发帖 6 积分 14 | |
|
谢谢楼上的大哥
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |