rem main.bat @echo off for /F "eol=; tokens=1,2* delims==" %%i in (ip.TXT) do call :checkip %%i %%j 0 echo -------------------------------------------------------------- echo ----第一輪檢查完畢,如果沒有聽到報警聲,表示各IP都可以PING通---- echo ----如果有異常的IP,請再手動使用PING命令,以確認檢查的正確性---- echo ---- 現在進行循環檢查,每隔10000ms檢查一個IP ---- echo -------------------------------------------------------------- :begin for /F "eol=; tokens=1,2* delims==" %%i in (ip.TXT) do call :checkip %%i %%j 10000 goto begin
:checkip
@echo off PING %1 -n 1 | FIND "TTL=" >NUL IF NOT ERRORLEVEL 1 ECHO %1(%2) Status OK at %TIME% IF NOT ERRORLEVEL 1 GOTO NEXT PING %1 -n 1 -w 3000 | FIND "TTL=" >NUL if %ERRORLEVEL%==1 call :send %1 %2 ELSE ECHO %1(%2) Status OK at %TIME% :Next sleep %3 goto end
:send @echo off ECHO %1(%2):::::Status ERROR at %TIME%::::: for /F "eol=;" %%i in (user.TXT) do net send %%i "Error Pinging %1(%2)." >NUL Beep 1500 500 Beep 500 500 Beep 1500 500 Beep 500 500 goto end