@echo off
rem @file:auto_connect_wifi.bat
rem @author:author
rem @date:2023.xx.xx
rem @note:for auto connect wifi
set wifi_name=999_5G
set log_file=D:\auto_connect\wifi.log
set try_cnt=1
if [%1] == [] (echo default_wifi>nul) || (
set wifi_name=%1
)
echo [%date% %time%] Start connect wifi:%wifi_name% >> %log_file%
rem 主循环
:mainloop
(netsh WLAN show interfaces | findStr %wifi_name% > nul &&(
echo already connected.
)) ||(
set /a try_cnt+=1
echo [%date% %time%] try to connect...[%try_cnt%]
echo [%date% %time%] try to connect...[%try_cnt%] >> %log_file%
netsh WLAN connect ssid=%wifi_name% name=%wifi_name% >> %log_file%
)
choice /t 5 /d y /n >nul
goto mainloop
其中@echo off代表的是关闭命令行在cmd中的回显,更简洁一点。rem行代表的是注释信息,可以自行修改。wifi_name的右侧输入所需WIFI的名称即可,log_file是记录文件,记录下WIFI的重连信息,我选择在D盘新建一个auto_connect文件夹用来保存。主循环的任务就是时刻检查上文提到的展示接口语句来判断WIFI是否断开,断开的话,则记录到log_file中并且通过指令进行重连,未断开则无操作(只在后台运行,不记录到log_file中)。主循环中最后一句代码是间隔五秒的意思,指每隔5秒检查一次WIFI是否已经断开,并判断是否需要重连。
保存完后关闭文本文件,并将文件命名为auto_connect_wifi.bat,之后双击运行即可。但是不可避免的是cmd窗口会一直显示在任务栏中,而且关闭cmd窗口之后脚本就失效了,所以我们需要把它放到后台,隐藏运行。
依旧在桌面新建一个文本文件,将如下代码放入
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c auto_connect_wifi.bat",vbhide
保存后关闭文件,重命名为runbat.vbs,之后只需要双击这个runbat.vbs文件就可以啦!
给vbs脚本创建快捷方式,然后 win+r 输入 shell:startup 移动到打开的文件夹里就可以实现开机后台启动了
双击后视觉上什么也不会发生,这个时候可以先通过手动断开WIFI来进行测试,也可以先到任务管理器中查找进程,应该会找到一个如下图红框里的进程 作者:我想在夕阳下遇到你 https://www.bilibili.com/read/cv23443172/ 出处:bilibili