用于网络丢失时自动重启的计算机脚本

时间:2014-04-25 18:38:18

标签: performance batch-file cmd

我正在使用IP摄像头网络,并且需要在每台PC上运行脚本,以便在发生网络丢失时执行自动重启。我希望PC能够每隔5分钟ping一次服务器IP,当连接断开时,PC将重启。每台PC都有一个摄像头查看器,但会定期与NVR断开网络连接。我在这里找到了几乎相同的问题/解决方案:http://www.cam-it.org/index.php?topic=2786.0

但是提供的脚本对我不起作用。下面是我找到并尝试过的脚本但是没有按照我需要的方式运行。

@Echo off
REM Put REM in front of Echo off to view the file output
REM ---------------------------------------------------------
REM WATCHDOG.CMD
REM     Restarts PC after 3 unsuccessful attempts to PING the
REM     POE switch
REM --------------------------------------------------------

SET COUNT=C:\Temp\WATCHDOG.txt
SET POESWITCH=192.168.1.253
SET ERRFLG=0

IF EXIST "%COUNT%" (
SET /P ERRFLG= <%COUNT%
)

IF %ERRFLG% GTR 2 (
Echo Restarting PC in 60 seconds.  Run SHUTDOWN -a to abort.
DEL %COUNT%
SHUTDOWN -r -t 60 -f
GOTO :EOF
)

PING -n 1 %POESWITCH%|findstr /I /C:"timed out" /C:"unreachable" /C:"general failure"
if %ERRORLEVEL% == 1 Goto Done

SET /a ERRFLG +=1
ECHO %ERRFLG% > %COUNT%

:Done

http://www.cam-it.org/index.php?topic=2786.0


任何建议都将不胜感激。

谢谢, 乔丹

1 个答案:

答案 0 :(得分:0)

添加reboot命令,它应该可以帮助您每300秒测试一次URL / IP地址

@echo off
set ip=www.google.com
:loop
  ping -n 2 %ip% |find "TTL=" >nul || echo reboot command here
  ping -n 300 localhost >nul
goto :loop