Board logo

标题: [系统相关] [已解决]BAT如何控制ping批量运行? [打印本页]

作者: pZjVa0    时间: 2013-7-27 22:56     标题: [已解决]BAT如何控制ping批量运行?

本帖最后由 pZjVa0 于 2013-7-28 21:00 编辑

p.bat↓
  1. @echo off
  2. for /f %%a in (ip.txt) do start /b ping %%a
  3. pause
复制代码
ip.txt↓
  1. 192.168.1.1
  2. 192.168.1.2
  3. 192.168.1.3
  4. 192.168.1.4
  5. 192.168.1.5
  6. 192.168.1.11
  7. 192.168.1.12
  8. 192.168.1.13
  9. 192.168.1.8
  10. 192.168.1.9
  11. 192.168.1.11
  12. 192.168.1.12
复制代码
以上面为例,读取ip.txt中每行ip并用start打开进行ping。但如果要判断当读取到文本的最后一段ping时,则不使用start运行,而是直接ping 最后一行的192.168.1.12,应该如何实现?谢谢

效果示意:
  1. start ping 192.168.1.1
  2. start ping 192.168.1.2
  3. start ping 192.168.1.3
  4. start ping 192.168.1.4
  5. start ping 192.168.1.5
  6. start ping 192.168.1.11
  7. start ping 192.168.1.12
  8. start ping 192.168.1.13
  9. start ping 192.168.1.8
  10. start ping 192.168.1.9
  11. start ping 192.168.1.11
  12. ping 192.168.1.12
复制代码

作者: apang    时间: 2013-7-28 18:31

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (ip.txt) do (
  4.     if defined a echo,start ping !a!
  5.     set "a=%%a"
  6. )
  7. echo,ping !a!
  8. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2