求个ping命令批处理如果ping不通就执行文件

求个ping命令批处理如果ping不通就执行文件,比如 ping 服务器192.168.1.254是否通畅,如果通,不做任何事情。如果连续超过4次不同,执行文件 jingbao.exe 这样的该如何写
我的目的是我在自己家里能时刻的注意自己的服务器是否断网状态,我怕自己服务器会掉线,影响客户的正常使用,所以想在服务器掉线的第一时间听到自己电脑上执行的报警文件,,赶紧通知客户采取措施。

第1个回答  2012-04-20
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:oo
for /f %%i in (ip.txt) do ( set /a s=0
for /l %%n in (1,1,4) do (ping -n 1 %%i > nul && set /a s=0 || set /a s=!s!+1 )
if !s!==4 start ip.txt)
goto oo
==================================================================
在同一个目录里新建一个ip.txt文件,每行写上你的服务器IP。如:
192.168.1.100
192.168.1.101
192.168.1.102
192.168.1.103
第2个回答  2012-04-16
@echo off
:loop
ping /n 4 192.168.1.254
if %errorlevel%==0 (goto end) else (start jingbao.exe)
goto loop
:end
exit
把它和jinbao.exe放在同一个文件夹下。
我没有明白你说的ping 4 下是什么意思。ping 命令默认的是每次执行四下,所以我就直接让它ping 4下,而不是让它重复执行4下。如果你想要重复4下的效果,就用楼上那位大大的!追问

谢谢你的解答,真是你说的楼上的方法效果,,谢谢,不过如果多加两条IP 按照楼上的方法,应该怎么样写

追答

你想要什么样的效果?说清楚些的好!

第3个回答  2012-04-16
@echo off
:begin
ping -n 1 192.168.1.254&&set n=||set/a n+=1
if %n%==4 start jingbao.exe
goto begin追问

谢谢,测试通过了,问下,如果想多加俩IP同时这样的检查的话,能实现吗

追答

@echo off
:begin
ping -n 1 192.168.1.254&&set n=||set/a n+=1
if %n%==4 start jingbao.exe
ping -n 1 192.168.2.254&&set m=||set/a m+=1
if %m%==4 start jingbao.exe
goto begin

本回答被提问者采纳
第4个回答  2012-04-27
@echo off
:begin
ping -n 1 192.168.1.254&&set n=||set/a n+=1
if %n%==4 start jingbao.exe
ping -n 1 192.168.2.254&&set m=||set/a m+=1
if %m%==4 start jingbao.exe
goto begin
第5个回答  2020-03-22
@echo off
:begin
echo ==============================
echo 网络质量检查
echo CatalpaJun made
echo ==============================
echo 请选择如下选项:
echo 1 网络回环检查
echo 2 外网网络连接检查
echo 3 退出
echo ==============================
set /p be=请选择:
if "%be%"=="1" goto :h
if "%be%"=="2" goto :w
if "%be%"=="3" goto :bye
if "%be%"=="" echo 请重新输入
:h
echo 开始检查网络回环(请稍等)......
ping 127.0.0.1 >nul
cls
if %errorlevel%==0 (
echo =============================================
echo 检查完毕!!!
echo **********网络回环正常**********
echo =============================================
echo 输入3返回主菜单,输入4继续检查,输入q退出 ) else (
echo =============================================
echo 网络回环异常!!!
echo =============================================
echo.
echo 输入3返回主菜单,输入4继续检查,输入q退出 )
set /p sd=请选择:
if "%sd%"=="3" ( cls
goto :begin )
if "%sd%"=="4" goto :h
if "%sd%"=="q" goto :bye
if "%sd%"=="" echo 请重新输入

:w
echo 开始检查网络是否流畅(请稍等)......
ping www.baidu.com >nul
cls
if %errorlevel%==0 (
echo =============================================
echo 检查完毕!!!
echo **********可以访问外网!**********
echo =============================================
echo 输入3返回主菜单,输入4继续检查,输入q退出
) else (
echo =============================================
echo 无法访问外网!!!!
echo =============================================
echo.
echo 输入3返回主菜单,输入4继续检查,输入q退出
)
set /p sc=请选择:
if "%sc%"=="3" ( cls
goto :begin )
if "%sc%"=="4" goto :w
if "%sc%"=="q" goto :bye

:bye
exit
相似回答