Board logo

标题: [文本处理] 批处理怎样ping每个ip并选出响应时间最小的,写入到hosts.txt里? [打印本页]

作者: yanxiangyuxx    时间: 2015-12-4 17:41     标题: 批处理怎样ping每个ip并选出响应时间最小的,写入到hosts.txt里?

读取一个全是ip的文件,ping每个ip并选出响应时间最小的,写入到hosts.txt里。今天刚研究发现有点难啊,请教一下。
作者: yanxiangyuxx    时间: 2015-12-4 17:45

哦 对了 这些ip都是同一个固定域名的
作者: yanxiangyuxx    时间: 2015-12-4 18:07

小弟研究成果也贴一下吧 现在能得到每个ping的响应时间了 怎么放到集合里然后排序呢 各位大神帮帮忙。

for /f "delims=" %%a in (1.txt) do (for /f "skip=7 tokens=7 delims= " %%i in ('ping /n 1 %%a') do echo %%i >>E:\hosts.txt)
作者: terse    时间: 2015-12-4 18:48

回复 3# yanxiangyuxx
可以不排序 一直比较下去 取小的 直到最后
作者: pcl_test    时间: 2015-12-6 12:20

本帖最后由 pcl_test 于 2015-12-6 12:24 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%a in (ip.txt) do (
  4.     for /f "skip=1 tokens=9 delims=ms " %%b in ('ping /n 1 %%a^|find "ms"') do (
  5.         set #%%b=%%a
  6.         if not defined t (
  7.             set t=%%b
  8.         ) else (
  9.             if %%b leq !t! set t=%%b
  10.         )
  11.     )
  12. )
  13. echo;!#%t%! %t%ms
  14. pause
复制代码

作者: Batcher    时间: 2015-12-6 12:25

这里有个类似的可以参考一下:批处理自动获取最快速的QQ服务器
http://bbs.bathome.net/thread-4193-1-1.html#pid26844




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