Windows系统自动检测WIFI断线重连脚本

@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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玖玖玖_violet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值