Windows下BAT脚本实战自动检测网络并重连校园网含Chrome自动化配置校园网频繁断网的问题困扰着许多用户尤其是在夜间无人值守时。本文将详细介绍如何利用Windows BAT脚本结合Chrome浏览器实现网络状态的自动检测与重连为系统管理员和有一定脚本基础的用户提供一套完整的解决方案。1. 网络检测与重连原理网络自动重连的核心在于定期检测网络连通性并在检测到断网时触发重连机制。我们采用Ping命令作为基础检测手段结合浏览器自动化完成认证流程。关键检测逻辑使用ping命令测试网关或可靠外部服务器通过%ERRORLEVEL%获取命令执行结果成功返回0失败返回1实际应用中建议选择稳定的检测目标ping 223.5.5.5 -n 1 # 阿里云DNS服务器2. 基础BAT脚本实现以下是基础网络检测脚本框架保存为.bat文件即可运行echo off :while ping 223.5.5.5 -n 1 nul if %ERRORLEVEL%0 ( echo %time% 网络正常 timeout /t 600 /nobreak nul goto while ) if %ERRORLEVEL%1 ( echo %time% 网络断开尝试重连 rem 重连逻辑将在此添加 goto while )参数说明timeout /t 600设置检测间隔为10分钟600秒 nul屏蔽命令输出保持界面整洁3. Chrome浏览器自动化配置实现自动登录需要浏览器配合以下是完整配置方案3.1 浏览器启动参数通过命令行参数控制Chrome启动行为start C:\Program Files\Google\Chrome\Application\chrome.exe --new-window http://校园网登录页 --user-data-dir%temp%\ChromeTempProfile关键参数--new-window在新窗口打开指定URL--user-data-dir使用临时配置目录避免影响主配置3.2 自动填充登录信息结合AutoHotkey或浏览器插件实现表单自动填充安装Tampermonkey插件创建用户脚本自动填写账号密码// UserScript // name 校园网自动登录 // match http://校园网登录页/* // /UserScript setTimeout(function(){ document.getElementById(username).value 你的账号; document.getElementById(password).value 你的密码; document.forms[0].submit(); }, 3000);3.3 进程管理脚本执行后需要关闭浏览器进程taskkill /f /im chrome.exe /t注意/t参数会终止所有子进程确保完全退出4. 完整实现方案整合所有功能的完整脚本示例echo off set CHECK_IP223.5.5.5 set LOGIN_URLhttp://校园网登录页 set CHROME_PATHC:\Program Files\Google\Chrome\Application\chrome.exe :main_loop ping %CHECK_IP% -n 1 nul if %ERRORLEVEL%0 ( echo %date% %time% 网络连接正常 network.log timeout /t 300 /nobreak nul goto main_loop ) echo %date% %time% 检测到网络断开尝试重连 network.log start %CHROME_PATH% --new-window %LOGIN_URL% --user-data-dir%temp%\ChromeTemp timeout /t 30 /nobreak nul taskkill /f /im chrome.exe /t nul ping %CHECK_IP% -n 1 nul if %ERRORLEVEL%1 ( echo %date% %time% 重连失败5分钟后重试 network.log ) timeout /t 300 /nobreak nul goto main_loop增强功能日志记录到network.log文件失败后缩短检测间隔使用临时Chrome配置5. 高级优化技巧5.1 多检测点容错避免单一检测点故障导致误判set CHECK_IPS223.5.5.5 114.114.114.114 8.8.8.8 set FAIL_COUNT0 for %%i in (%CHECK_IPS%) do ( ping %%i -n 1 nul if %ERRORLEVEL%1 set /a FAIL_COUNT1 ) if %FAIL_COUNT%3 ( echo 所有检测点不可达判定为断网 )5.2 断网告警集成添加邮件或消息通知功能powershell -Command Send-MailMessage -From alertdomain.com -To admindomain.com -Subject 网络断开警报 -SmtpServer smtp.server.com -Body 检测到网络断开已尝试自动重连5.3 计划任务部署通过Windows计划任务实现开机自启创建基本任务触发器设置为计算机启动时操作为启动程序选择bat脚本勾选使用最高权限运行配置命令schtasks /create /tn 网络自动重连 /tr C:\path\to\script.bat /sc onstart /ru SYSTEM6. 常见问题排查浏览器无法自动登录检查登录页面元素ID是否匹配增加延迟确保页面加载完成验证临时配置目录可写脚本执行报错确保Chrome安装路径正确检查是否有杀毒软件拦截使用完整路径替代环境变量网络检测不准确尝试更换检测IP增加ping包数量(-n 3)检查本地防火墙设置实际部署时发现校园网登录页面经常变更DOM结构导致自动填充失效。解决方法是定期检查脚本或改用图像识别方案。另一个经验是设置不同的检测间隔网络正常时每10分钟检测一次断网后缩短到30秒检测成功恢复后再调回正常间隔。
Windows下BAT脚本实战:自动检测网络并重连校园网(含Chrome自动化配置)
Windows下BAT脚本实战自动检测网络并重连校园网含Chrome自动化配置校园网频繁断网的问题困扰着许多用户尤其是在夜间无人值守时。本文将详细介绍如何利用Windows BAT脚本结合Chrome浏览器实现网络状态的自动检测与重连为系统管理员和有一定脚本基础的用户提供一套完整的解决方案。1. 网络检测与重连原理网络自动重连的核心在于定期检测网络连通性并在检测到断网时触发重连机制。我们采用Ping命令作为基础检测手段结合浏览器自动化完成认证流程。关键检测逻辑使用ping命令测试网关或可靠外部服务器通过%ERRORLEVEL%获取命令执行结果成功返回0失败返回1实际应用中建议选择稳定的检测目标ping 223.5.5.5 -n 1 # 阿里云DNS服务器2. 基础BAT脚本实现以下是基础网络检测脚本框架保存为.bat文件即可运行echo off :while ping 223.5.5.5 -n 1 nul if %ERRORLEVEL%0 ( echo %time% 网络正常 timeout /t 600 /nobreak nul goto while ) if %ERRORLEVEL%1 ( echo %time% 网络断开尝试重连 rem 重连逻辑将在此添加 goto while )参数说明timeout /t 600设置检测间隔为10分钟600秒 nul屏蔽命令输出保持界面整洁3. Chrome浏览器自动化配置实现自动登录需要浏览器配合以下是完整配置方案3.1 浏览器启动参数通过命令行参数控制Chrome启动行为start C:\Program Files\Google\Chrome\Application\chrome.exe --new-window http://校园网登录页 --user-data-dir%temp%\ChromeTempProfile关键参数--new-window在新窗口打开指定URL--user-data-dir使用临时配置目录避免影响主配置3.2 自动填充登录信息结合AutoHotkey或浏览器插件实现表单自动填充安装Tampermonkey插件创建用户脚本自动填写账号密码// UserScript // name 校园网自动登录 // match http://校园网登录页/* // /UserScript setTimeout(function(){ document.getElementById(username).value 你的账号; document.getElementById(password).value 你的密码; document.forms[0].submit(); }, 3000);3.3 进程管理脚本执行后需要关闭浏览器进程taskkill /f /im chrome.exe /t注意/t参数会终止所有子进程确保完全退出4. 完整实现方案整合所有功能的完整脚本示例echo off set CHECK_IP223.5.5.5 set LOGIN_URLhttp://校园网登录页 set CHROME_PATHC:\Program Files\Google\Chrome\Application\chrome.exe :main_loop ping %CHECK_IP% -n 1 nul if %ERRORLEVEL%0 ( echo %date% %time% 网络连接正常 network.log timeout /t 300 /nobreak nul goto main_loop ) echo %date% %time% 检测到网络断开尝试重连 network.log start %CHROME_PATH% --new-window %LOGIN_URL% --user-data-dir%temp%\ChromeTemp timeout /t 30 /nobreak nul taskkill /f /im chrome.exe /t nul ping %CHECK_IP% -n 1 nul if %ERRORLEVEL%1 ( echo %date% %time% 重连失败5分钟后重试 network.log ) timeout /t 300 /nobreak nul goto main_loop增强功能日志记录到network.log文件失败后缩短检测间隔使用临时Chrome配置5. 高级优化技巧5.1 多检测点容错避免单一检测点故障导致误判set CHECK_IPS223.5.5.5 114.114.114.114 8.8.8.8 set FAIL_COUNT0 for %%i in (%CHECK_IPS%) do ( ping %%i -n 1 nul if %ERRORLEVEL%1 set /a FAIL_COUNT1 ) if %FAIL_COUNT%3 ( echo 所有检测点不可达判定为断网 )5.2 断网告警集成添加邮件或消息通知功能powershell -Command Send-MailMessage -From alertdomain.com -To admindomain.com -Subject 网络断开警报 -SmtpServer smtp.server.com -Body 检测到网络断开已尝试自动重连5.3 计划任务部署通过Windows计划任务实现开机自启创建基本任务触发器设置为计算机启动时操作为启动程序选择bat脚本勾选使用最高权限运行配置命令schtasks /create /tn 网络自动重连 /tr C:\path\to\script.bat /sc onstart /ru SYSTEM6. 常见问题排查浏览器无法自动登录检查登录页面元素ID是否匹配增加延迟确保页面加载完成验证临时配置目录可写脚本执行报错确保Chrome安装路径正确检查是否有杀毒软件拦截使用完整路径替代环境变量网络检测不准确尝试更换检测IP增加ping包数量(-n 3)检查本地防火墙设置实际部署时发现校园网登录页面经常变更DOM结构导致自动填充失效。解决方法是定期检查脚本或改用图像识别方案。另一个经验是设置不同的检测间隔网络正常时每10分钟检测一次断网后缩短到30秒检测成功恢复后再调回正常间隔。