前置条件
Windows系统,WIFI列表有校园网,保存了账号密码不需要在网页验证登录
脚本代码
bash
@echo off
title WiFi_Autoconnect
SET "TARGET_SSID=你的WiFi名称"
SET "LOG_FILE=wifi_autoconnect.log"
:loop
:: 检查是否连接目标WiFi或有网络
(netsh wlan show interfaces | findstr /i "%TARGET_SSID%" >nul || ping -n 2 223.5.5.5 >nul) && (
echo [%date% %time%] 已连接或有网络,等待10秒
timeout /t 10 /nobreak >nul
) || (
echo [%date% %time%] 无网络,尝试连接 %TARGET_SSID%
netsh wlan connect name=%TARGET_SSID% ssid=%TARGET_SSID%
timeout /t 5 /nobreak >nul
)
goto loop
运行步骤:
-
打开记事本,将脚本代码复制进去
-
修改WiFi名称 :将
SET "TARGET_SSID=你的WiFi名称"中的"你的WiFi名称"替换为你要连接的WiFi名称(注意保持引号) -
保存文件:
- 选择"另存为"
- 文件名输入:
wifi_autoconnect.bat - 文件类型选择:"所有文件"
- 编码选择:ANSI
-
运行脚本:
- 双击保存的
.bat文件 - 或者右键选择"以管理员身份运行"(推荐,因为需要网络权限)
- 双击保存的
脚本功能说明:
- 循环检查:每10秒检查一次网络状态
- 双保险检查 :
- 检查是否已连接到目标WiFi
- 如果没有,尝试ping 223.5.5.5(阿里云DNS)检查是否有其他网络
- 自动重连:当检测到没有网络时,会自动尝试连接指定的WiFi
- 日志记录 :所有操作会记录到
wifi_autoconnect.log文件中
注意事项:
- 确保WiFi名称输入正确(区分大小写)
- 需要以管理员权限运行,否则可能无法执行网络命令
- 按
Ctrl+C可以停止脚本运行 - 脚本会一直运行,直到手动关闭