Windows网络无连接自动重启bat脚本
2022/1/13 7:08:31
本文主要是介绍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 ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) @ECHO OFF set ip=www.baidu.com set /a counter=0 set /a counter_max=60 :p ping 1.1.1.1 -n 1 -w 60000 > nul ping %IP% -n 1 -w 1000 | find "TTL" > nul if %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 ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
第二段是主要过程,简单来说就是每60000ms(60s)ping一次百度,如果ping不通代表网络出问题了,计数器(counter)+1,若计数器达到上限(counter_max),则执行重启。若ping得通,则计数器归零。
如此一来,当脚本启动时,每60秒检查一次网络,当网络连续中断一小时就会执行重启。
@ECHO OFF set ip=www.baidu.com set /a counter=0 set /a counter_max=60 :p ping 1.1.1.1 -n 1 -w 60000 > nul ping %IP% -n 1 -w 1000 | find "TTL" > nul if %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目录下可以使得脚本开机自动启动。
这篇关于Windows网络无连接自动重启bat脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?