作者:电脑信息网日期:
返回目录:win7问题
:a
ping -n 2 210.72.145.44&& d:\1.exe & exit || echo 不通
goto a
把上面的文本zhidao保存成 *.BAT 然后 把 d:\1.exe 改成你要执回行的文件或代码就答可以了
@echo off
echo 正在百测试是度否问可以答ping通主机回XXX.XXX.XXX.XXX
:again
ping XXX.XXX.XXX.XXX >nul
if %errorlevel% EQU 0 goto bb
if %errorlevel% EQU 1 goto aa
:aa start "无法答ping通" "D:\test\foxitReader.exe"
goto again
:bb
goto again
pause
要想检测到“请求超时”字样,那么每个ip只能ping一次,zd并重复100次,这样版才能得到想要的信息,不过这样一来,日志结果看着就头疼了。如果不嫌看着头疼的话,就用下面代码吧!
@echo off
setlocal enabledelayedexpansion
set IPs=111.11.26.238,111.11.26.254,111.11.27.110,111.11.27.182,111.11.27.209
for %%a in (%IPs%) do call :PingIt "%%~a"
pause
exit
:PingIt
(for /l %%i in (1,1,100) do (
for /f "delims=" %%j in ('ping %~1 -n 1') do (
echo %%~j
echo "%%~j" | findstr /i "请求超时。" >nul 2>nul && set /a Count+=1 || set Count=0
if !Count! geq 5 goto :eof
)
))>E:\测试结果权.txt
goto :eof
如下的制bat
@echo off
ping -n 1 127.0.0.1>nul
if %errorlevel% EQU 0 ( echo PING通了百) else ( echo 没PING通)
pause
ip地址换度成你自己的,echo PING通了等换问成你要执行的答命令