批处理同时ping多个网站,最后只打开最快的

在某坛帮他人写的,比较满意,分享出来

1、打开最快的网站.bat:

@echo off & color 0A
setlocal enabledelayedexpansion 
cd /d %~dp0

:修改网站列表,空格分隔
set list=www.baidu.com www.taobao.com

set pf=打开最快的网站Ping测试.bat
set rf=打开最快的网站Ping测试结果.txt

set /a n=0
cd.>%rf%
for %%u in (%list%) do (
	:echo %%u
	start /min %pf% %%u %rf%
	set /a n+=1
	ping -n 1 127.1>nul
)

set /a vt=9999
for /l %%i in (1,1,10) do (
	set /a b=0
	for /f "tokens=1-2 delims= " %%j in (%rf%) do (
		set t=%%k
		if !t! lss !vt! set /a vt=!t!&set u=%%j&echo !u! 用时 !t! ms
		set /a b+=1
	)
	
	echo 检测到Ping结果!b!/!n!
	if !b! geq !n! goto open
	ping -n 1 127.1>nul
)

if !b! geq 1 goto open

echo 未检测到Ping结果!
goto exit10

:open
Start !u!

:exit10
echo 10秒后自动关闭!
ping -n 10 127.1>nul
exit

2、打开最快的网站Ping测试.bat:

@echo off & setlocal enabledelayedexpansion
cd /d %~dp0
for /f "tokens=3 delims==" %%i in ('ping -n 1 %1^| findstr ms') do (
	set t=%%i
	set t=!t:ms TTL=!
	echo %1 !t!>>%2

	echo %1 !t!
	echo.
	echo 10秒后自动关闭!
	ping -n 10 127.1>nul
	exit
)

3、两个批处理放到同一文件夹。
4、运行"打开最快的网站.bat"会调用"打开最快的网站Ping测试.bat"同时测试所有网站,
并生成“打开最快的网站Ping测试结果.txt”。
5、通过读取结果比对,打开延时最小的网站。

参考:http://www.bathome.net/thread-15609-1-1.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值