1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Windows网络无连接自动重启bat脚本

Windows网络无连接自动重启bat脚本

时间:2019-07-23 02:00:32

相关推荐

Windows网络无连接自动重启bat脚本

脚本文件

auto_reboot.bat

@echo off>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"if '%errorlevel%' NEQ '0' (goto UACPrompt) else ( goto gotAdmin ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"exit /B:gotAdminif exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )@ECHO OFFset ip=set /a counter=0set /a counter_max=120:ptimeout /nobreak /t 60 >nulping %IP% -n 1 -w 1000 | find "TTL" > nulif %errorlevel% EQU 1 (set /a counter+=1 & echo Network Connect Failed) else (set /a counter=0 & echo Network Available)if %counter% EQU %counter_max% (shutdown -r -t 00) else (echo Failed for %counter%/%counter_max%)GOTO p

使用方法

将上述代码保存成auto_reboot.bat文件,放置在C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录下。

期间可能会导致杀毒软件报错,允许即可。

脚本解析

第一段的作用是让脚本获取管理员权限,我从网上抄的,不解释。

@echo off>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"if '%errorlevel%' NEQ '0' (goto UACPrompt) else ( goto gotAdmin ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"exit /B:gotAdminif exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

第二段是主要过程,timeout延时60秒,之后ping一次百度,如果ping不通代表网络出问题了,计数器(counter)+1,若计数器达到上限(counter_max),则执行重启。若ping得通,则计数器归零。使用GOTO进行循环。

如此一来,当脚本启动时,每60秒检查一次网络,若连续检查了120次都没网,即网络持续中断了两小时,就会执行重启。

@ECHO OFFset ip=set /a counter=0set /a counter_max=120:ptimeout /nobreak /t 60 >nulping %IP% -n 1 -w 1000 | find "TTL" > nulif %errorlevel% EQU 1 (set /a counter+=1 & echo Network Connect Failed) else (set /a counter=0 & echo Network Available)if %counter% EQU %counter_max% (shutdown -r -t 00) else (echo Failed for %counter%/%counter_max%)GOTO p

将脚本放置在Startup目录下可以使得脚本开机自动启动。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。