[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 hanyeguxing 于 2011-5-6 08:20 编辑
  1. @echo off&setlocal enableDelayedExpansion&set a=:Hanyeguxing
  2. for /f "usebackq tokens=1-13 delims=Mm " %%X in ("输出.txt") do  (
  3.     if /i "%%X"=="Pinging" set b=%%Y
  4.     if /i "%%b"=="Average" if %%d lss !a:*:^=! set a=!b!:%%d
  5. )
  6. for /f "delims=:" %%a in ("%a%") do rasdial.exe %%a name pass
复制代码
或:
  1. @echo off&setlocal enableDelayedExpansion&set a=:Hanyeguxing
  2. for /f "usebackq delims=" %%i in ("ip列表.txt") do for /f "tokens=1-13 delims=Mm " %%X in ('ping %%i -n 1 -w 80') do  (
  3.     if /i "%%X"=="Pinging" set b=%%Y
  4.     if /i "%%b"=="Average" if %%d lss !a:*:^=! set a=!b!:%%d
  5. )
  6. for /f "delims=:" %%a in ("%a%") do rasdial.exe %%a name pass
复制代码
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

1,-w是请求超时默认等待的4秒的设置值,如果确定都能ping 通则可以不用
2,set a=:Hanyeguxing 这里的初始d的值只要在 if 比较时比数字大就可以,所以可以为任意字母
3,ip获取来自Pinging ...这一行,即第一列为Pinging,第二列为ip,所以if /i "%%X"=="Pinging" set b=%%Y后b就为ip
4,    Minimum = 405ms, Maximum = 421ms, Average = 413ms 以M和m与空格分隔此行第11列为
Average,第13列为其值,即%%d。
如果ping 不通,则无此行,ip换新值,即b换新ip
如果ping同,且Average为第一次出现,则数值与Hanyeguxing比较必小于,a为此时“ip:数值”
如果Average不是第一次出现,则与a中数值比较,小于时set新的“ip:数值”
!a:*:^=! 即!a:*:=!即获取a的第一个:后所有内容,^用来转义=
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 hanyeguxing 于 2011-5-6 18:27 编辑

7楼第二个代码是根据第一个代码改的,实际可以直接
  1. @echo off&setlocal enableDelayedExpansion&set b=Hanyeguxing
  2. for /f "usebackq delims=" %%a in ("ip列表.txt") do for /f "tokens=11,13 delims=Mm " %%b in ('ping %%a -n 1 -w 80') do  if /i "%%b"=="Average" if %%c lss !b! set a=%%a&set b=%%c
  3. rasdial.exe %a% name pass
复制代码
%%a为ip,%%b为Average,%%c为值
当 ping 不通时,无 Average ,set a=%%a等不执行
当 ping 通且 Average 第一次执行,则数小于字母,所以set a=%%a&set b=%%c,a为ip,b为值
当 ping 通且 Average 不是第一次执行,则新数值与原最小的b比较,小时执行set a=%%a&set b=%%c
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表