求个批处理PING某个IP如果ping不通就执行文件

在2008R2系统下循环PING 192.168.0.245 发现4次不通时,执行start.bat批处理. 通时不做任何操作。

@ECHO OFF
:a
ping -n 31 127.1>nul
SET /a n=0
FOR /l %%i in (1,1,4) do (
ping -n 1 192.168.0.245>nul
if %errorlevel% EQU 0 (SET /a n+=1)
)
IF %n% EQU 4 (START start.bat&GOTO a) else (GOTO a)
PAUSE

30秒检测一次. 

追问

在2008R2系统下循环PING 192.168.0.245 发现4次不通时,执行start.bat批处理. 通时不做任何操作, ping 是一直PING着的永远也不停, 不通时才执行start.bat批处理。

追答@ECHO OFF
:a
SET /a n=0
FOR /l %%i in (1,1,4) do (
ping -n 1 192.168.0.245>nul
if %errorlevel% EQU 1 (SET /a n+=1)
)
IF %n% EQU 4 (START start.bat&GOTO a) else (GOTO a)
PAUSE

去掉了延时.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-03
@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
第2个回答  2013-07-07
@echo off
ping 192.168.0.245|find "100%"
if errorlevel 0 start.bat
第3个回答  2013-07-08
@echo off
:begin
ping 192.168.0.245|find /i "ttl" &&goto begin ||start.bat追问

请看清楚问题 谢谢回答

相似回答