当前位置: 首页 > news >正文

windows下 自动检测网络状态,并重连至指定wifi的脚本

1、新建bat文件

@echo off
chcp 65001 >nul 2>&1
setlocal enabledelayedexpansionREM ===== 配置参数 ===== shell:startup
REM wifi_name  要连接的无线网名称
set wifi_name=wifiname
REM test_interval  循环检测时间
set test_interval=30	
REM wait_before_reconnect  wifi断开重连时间
set wait_before_reconnect=10
REM test_ip1  测试IP1
set test_ip1=223.5.5.5
REM test_ip2  测试IP2	
set test_ip2=baidu.com
REM log_file 日志路径
set log_file=D:\wifi\log\wifi.log
REM 确保日志目录存在
if not exist "D:\wifi\log\" mkdir "D:\wifi\log\"REM 记录脚本启动
call :log "========== WiFi 自动重连脚本启动 =========="
call :log "监控 WiFi: %wifi_name%"
call :log "检测间隔: %test_interval% 秒"
call :log "测试目标1: %test_ip1%"
call :log "测试目标2: %test_ip2%":main_loopREM 获取当前连接的 WiFi 名称for /f "tokens=2 delims=:" %%a in ('netsh wlan show interfaces ^| findstr /C:"SSID" ^| findstr /V "BSSID"') do (set current_wifi=%%aREM 去除前导空格set current_wifi=!current_wifi:~1!)REM 检查是否连接到目标 WiFiif "!current_wifi!"=="%wifi_name%" (call :log "已连接到 WiFi: %wifi_name%"call :check_network) else (call :log "未连接到 %wifi_name%, 当前连接: !current_wifi!"call :connect_wifi)REM 等待指定时间后再次检测call :log "等待 %test_interval% 秒后进行下次检测..."echo.timeout /t %test_interval% /nobreak >nulgoto :main_loop:check_networkREM 检查网络连通性call :log "开始检测网络连通性..."REM 测试第一个目标set ip1_ok=0for /l %%i in (1,1,3) do (ping -n 1 -w 1000 %test_ip1% >nul 2>&1if !errorlevel! equ 0 (set ip1_ok=1call :log "%test_ip1% 第 %%i 次 ping 成功"goto :test_ip2) else (call :log "%test_ip1% 第 %%i 次 ping 失败")):test_ip2REM 测试第二个目标set ip2_ok=0for /l %%i in (1,1,3) do (ping -n 1 -w 1000 %test_ip2% >nul 2>&1if !errorlevel! equ 0 (set ip2_ok=1call :log "%test_ip2% 第 %%i 次 ping 成功"goto :check_result) else (call :log "%test_ip2% 第 %%i 次 ping 失败")):check_resultREM 判断网络状态if !ip1_ok! equ 0 if !ip2_ok! equ 0 (call :log "=========================================="call :log "【警告】两个目标都无法 ping 通,网络异常!"call :log "=========================================="call :reconnect_wifi) else (call :log "✓ 网络正常,至少有一个目标可以 ping 通")goto :eof:reconnect_wifiREM 断开并重连 WiFicall :log "========== 开始重连操作 =========="call :log "正在断开 WiFi: %wifi_name%"netsh wlan disconnect >nul 2>&1call :log "等待 %wait_before_reconnect% 秒后重新连接..."timeout /t %wait_before_reconnect% /nobreak >nulcall :connect_wifigoto :eof:connect_wifiREM 连接到指定 WiFicall :log "尝试连接到 WiFi: %wifi_name%"netsh wlan connect name="%wifi_name%" >nul 2>&1if !errorlevel! equ 0 (call :log "连接命令执行成功,等待 5 秒确认连接状态..."timeout /t 5 /nobreak >nulREM 验证是否真正连接成功for /f "tokens=2 delims=:" %%a in ('netsh wlan show interfaces ^| findstr /C:"SSID" ^| findstr /V "BSSID"') do (set verify_wifi=%%aset verify_wifi=!verify_wifi:~1!)if "!verify_wifi!"=="%wifi_name%" (call :log "✓ 成功连接到 %wifi_name%") else (call :log "✗ 连接失败,当前连接: !verify_wifi!")) else (call :log "✗ 连接命令执行失败,错误代码: !errorlevel!")goto :eof:logREM 记录日志(带时间戳)set log_msg=%~1for /f "tokens=1-4 delims=/ " %%a in ('date /t') do set log_date=%%a-%%b-%%cfor /f "tokens=1-2 delims=: " %%a in ('time /t') do set log_time=%%a:%%bREM 获取完整时间(包含秒)set log_fulltime=%time:~0,8%echo [%log_date% %log_fulltime%] %log_msg%echo [%log_date% %log_fulltime%] %log_msg% >> "%log_file%"goto :eof

2、新建VBS文件

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c ""D:\wifi\auto_connect_wifi.bat""", vbhide

3、设置策略组(开机脚本)

步骤1:打开组策略编辑器按 Win + R组合键,输入 gpedit.msc并按回车步骤2:配置开机脚本依次展开:计算机配置→ Windows 设置→ 脚本(启动/关机)双击右侧的"启动"选项步骤3:添加VBS脚本点击"添加"按钮浏览并选择你的VBS脚本文件点击"确定"保存设置

4、验证脚本是否成功

注意改为自己的wifi名称,设置好自己的脚本位置。监测间隔可以自己修改。

http://www.jsqmd.com/news/50447/

相关文章:

  • 2025港澳留学中介排名
  • map---显示地区地图
  • 2025北京留学中介机构名单
  • 2025年金刚砂耐磨地坪材料搅拌机制造企业权威推荐榜单:石墨增碳剂搅拌机/塑料粉混合机/石墨粉搅拌机源头厂家精选
  • 2025年武汉优质的华新水泥生产厂家推荐榜单,华新水泥有哪些鑫俊熙层层把关品质优
  • 计算机视觉:pyqt5+yoloV5目标检测平台 python实战 torch 目标识别 大数据项目 目标跟踪(建议收藏)✅ - 指南
  • odoo12 跟踪所有的模型调用的onchange 方法
  • 对于高增量数据库的解决方案记录(暂时修改)
  • 2025年北京阅卷考试软件公司权威推荐榜单:自动阅卷软件/网上阅卷的软件/答题卡扫描源头公司精选
  • 2025年11月五大GEO优化公司:技术融合驱动增长新生态
  • 《基于IPD流程的研发项目管理》公开课(2025年12月12-13日)
  • HarmonyOS应用性能调优与内存管理实战 - 指南
  • CF1450C2 Errich-Tac-Toe (Hard Version)
  • 使用 Privoxy 将 socks5 转为 http/https
  • 迅为如何在RK3576开发板上部署YOLOv5;基于RK3576构建智能门禁系统
  • 国际象棋
  • 2025苏州留学机构十强排名榜
  • 背包的第 $k$ 优解
  • 2025深圳香港留学中介机构有哪些
  • MySQL权限管理的坑你踩了没有?
  • 2025厦门十大正规留学机构排名榜
  • 后缀树模板
  • 2025 年 11 月冷却塔厂家权威推荐榜:闭式冷却塔、方形冷却塔、工业冷却塔、全钢冷却塔、凉水塔、圆形冷却塔、玻璃钢冷却塔、防腐冷却塔、冷却水塔,高效散热与持久耐用的专业之选
  • 好用的库存管理系统盘点:橙子库存通——简洁实用、功能齐全,出入库管理更省心
  • 2025广州最大的留学中介机构
  • 库存管理系统哪家强?橙子库存通:专业稳定,安全可靠,110万企业的共同选择
  • 2025北京留学中介哪些机构好一点
  • k8s chain
  • C++ - 手动实现std::shared_ptr
  • 数据库风险监测系统:打造可审查、可调整、可溯源的教育数据库安全底座