1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Windows 自动连接wifi的bat批处理脚本

Windows 自动连接wifi的bat批处理脚本

时间:2021-08-15 19:21:35

相关推荐

Windows 自动连接wifi的bat批处理脚本

Windows 自动连接wifi脚本

一、简述

记-使用bat脚本实现自动连接wifi(wifi是已经连接过的)。

使用场景1:需要连接设备的wifi热点进行调试设备并获取设备的相关信息,设备是会定时重启的,此时需要自动连接上设备的wifi,但发现系统自带的自动连接热点功能不靠谱,所以需要使用bat批处理脚本进行定时检测是否已经连接上wifi并自动重连设备wifi。

使用场景2:测试仪器wifi热点的稳定行,wifi连接和断开wifi测试。

使用场景3:需要保持PC上位机与设备的wifi连接

注1:该脚本使用前提是已经连接过WiFi,即电脑已经保存了要连接的热点的相关信息(包括密码,没有连接过的需要自己添加配置文件)

注2:有的系统需要以管理员权限执行该脚本,此时日志默认保存目录不是当前路径,可以直接指定set log_file=D:\wifi.log

测试脚本打包:外链:/b0c9qo3vg密码:8lq8

二、测试脚本

@echo offrem @file:auto_connect_wifi.batrem @author:Genven_Liangrem @date:.02.05rem @note:for auto connect wifirem 要连接的wifi名称set wifi_name=mywifiset log_file=wifi.logset try_cnt=1rem 如果有参数1,就将参数1指定为wifi名称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+=1echo [%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 >nulgoto mainloop

三、测试效果

四、总结

4.1 @echo off 表示关闭回显,即不显示执行的命令本身,只显示执行命令的输出信息。

4.2 rem 开头的是注释

4.3 %date%表示当前日期,%time%表示当前时间

4.4 获取附近wifi信息:netsh wlan show networks mode=bssid

4.5 获取当前连接的wifi名称:netsh WLAN show interfaces

可以使用findStr进一步提取信息

4.6 连接指定wifi:netsh wlan connect ssid=mywifi name=mywifi (需要是已经连接过的,如果没有连接过的,需要添加一份xml配置)

4.7 断开当前WiFi:netsh wlan disconnect

4.8 简单实现5秒延时:choice /t 5 /d y /n >nul

还可以使用timeout /t 3 /nobreak

还可以使用ping -n 5

4.9 查看已连接的wifi:netsh wlan show profiles

4.10 查看mywifi的相关信息:netsh wlan show profile name=mywifi key=clear

=============== 以下回复aiya_maya123 =============

连接未连接过的wifi,添加xml配置:

1、查看已经连接的wifinetsh wlan show profiles2、导出wifi名称为mywifi的配置文件(随便自己找个连接过的wifi就行了), 保存路径是C:\Users\Liang\Desktop,文件名格式为"Wlan-wifi名字"; key=clear表示密码用明文输出,用于下个步骤修改netsh wlan export profile name="mywifi" folder=C:\Users\Liang\Desktop interface="Wlan" key=clear3、修改配置文件,修改配置文件名为Wlan-mywifi2.xml字符串转十六进制:打开浏览器按F12(或右键--检查)进入开发者模式,输入以下代码并按回车就得到十六进制的结果function stringtoHex(str) {var hexStr = "";for (var i = 0; i < str.length; i++) {if ("" == hexStr)hexStr = str.charCodeAt(i).toString(16);elsehexStr += str.charCodeAt(i).toString(16);}return hexStr.toUpperCase();};console.log(stringtoHex("mywifi2"));//mywifi2就是要连接的wifi名称4、将添加wifi配置文件netsh wlan add profile filename="C:\Users\Liang\Desktop\Wlan-mywifi2.xml"5、查看配置是否添加成功netsh wlan show profiles | findStr mywifi26、连接wifi(记得先开启热点mywifi2)netsh wlan connect ssid=mywifi2 name=mywifi2附:删除配置netsh wlan delete profile filename="mywifi2"

Wlan-mywifi2.xml文件:外链:/b0c9qo3vg密码:8lq8

<?xml version="1.0"?><WLANProfile xmlns="/networking/WLAN/profile/v1"><name>mywifi2</name><SSIDConfig><SSID><hex>6D797769666932</hex><name>mywifi2</name></SSID></SSIDConfig><connectionType>ESS</connectionType><connectionMode>manual</connectionMode><MSM><security><authEncryption><authentication>WPA2PSK</authentication><encryption>AES</encryption><useOneX>false</useOneX></authEncryption><sharedKey><keyType>passPhrase</keyType><protected>false</protected><keyMaterial>87654321</keyMaterial></sharedKey></security></MSM><MacRandomization xmlns="/networking/WLAN/profile/v3"><enableRandomization>false</enableRandomization><randomizationSeed>740396315</randomizationSeed></MacRandomization></WLANProfile>

结果: (测试环境win10 64bit系统笔记本电脑)

附:删除配置

netsh wlan delete profile filename="mywifi2"

字符串转十六进制(也可以直接在线搜索字符串转十六进制,也可以使用相关的软件winhex,ultraedit、等等......)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。