Board logo

标题: [其他] [已解决]批处理命令ping出错导致set找不到最小延迟值 [打印本页]

作者: ksla    时间: 2016-2-29 19:40     标题: [已解决]批处理命令ping出错导致set找不到最小延迟值

我的代码是这样,,取最小延迟的IP,但当ping出错就不是取延迟最小的IP,而是取出错误的值,,请问如何修改!!!
  1. (for %%i in (
  2. 66.220.156.5,173.252.89.33,173.252.120.29,173.252.90.133,31.13.71.21,69.171.230.6
  3. ) do start /b ping %%i -n 1)|find "来自">ip.txt
  4. set "Min=9999999999"
  5. for /f "tokens=2,7 delims==m " %%i in (ip2.txt) do (
  6.     set "s=0000000000%%j"
  7.     set "s=!s:~-10!"
  8.     if "!s!" lss "!Min!" set "Min=!s!" & set "_!Min!=%%i"
  9. )
  10. (
  11. echo !_%Min%! qq.com
  12. echo !_%Min%! aa.com
  13. echo !_%Min%! cc.com
  14. )>>lolo.txt
复制代码
来自 66.220.156.5 的回复: 字节=32 时间=238ms TTL=73
来自 31.13.76.117 的回复: 字节=32 时间=248ms TTL=80
来自 69.63.188.165 的回复: 字节=32 时间=233ms TTL=71
来自 31.13.71.21 的回复: 字节=32 时间=236ms TTL=77
这下面的在ping时开始出错!!!
来自 173.252.89.33 的回复: 往返行程的估计时间(以毫秒为单位):
来自 173.252.120.29 的回复: 来自 173.252.90.133 的回复: 字节=32 字节=32 时间=260ms 时间=257ms TTL=75
来自 69.171.230.6 的回复:
正在 Ping 66.220.156.83 来自 31.13.80.54 的回复: 具有 32 字节的数据:
作者: ksla    时间: 2016-2-29 19:43

顶顶...........
作者: WHY    时间: 2016-2-29 20:07

本帖最后由 WHY 于 2016-2-29 20:12 编辑

你的代码贴得不完整吧? ip.txt 与 ip2.txt 是同一个文件吗?
把 find "来自" 改成
  1. findstr /i /r /c:"^来自[^:]*: 字节=[0-9][0-9]* 时间=[0-9][0-9]*ms TTL=[0-9][0-9]*$"
复制代码
试试看
作者: ksla    时间: 2016-2-29 20:17

回复 3# WHY


    哥们,,我太喜欢你了,,会写程序吗??想找外快吗?
作者: codegay    时间: 2016-2-29 23:31

回复 4# ksla


      这个污辱相当于问发了一招就解决问题的武林高手会不会武功。
作者: ksla    时间: 2016-3-7 17:24

回复 5# codegay


    真的吗...




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