没有检测到互联网时自动连接到wifi网络

时间:2016-05-23 03:52:28

标签: windows batch-file network-programming wifi scheduled-tasks

编辑:在不使用任务计划程序的情况下找到修复程序。

@echo off
:loop
set addresses=192.168.1.1
for %%a in (%addresses%) do ping %%a -n 1 > nul || netsh wlan add profile filename=C:\User\path\to\wireless\xml\profile.xml user=all
timeout /t 5
goto :loop

它每5秒重复一次

我已经到了一半,但已经陷入困境。我已经有一个批处理文件,可以在手动运行时将笔记本电脑连接回网络,但希望它在没有检测到互联网时运行。所以我继续将它绑定到任务计划程序,其中Trigger是“Microsoft-Windows-NetworkProfile / Operational”,ID为10001(这是断开连接ID),但没有运气。

我认为它只会在手动断开互联网时触发,而不是当无线网卡自身断电时。关于我能做什么的任何想法?

操作系统:Windows 8.1

无线接口:电缆问题AC600双频无线加密狗(不允许自动连接到SSID并因不明原因而不断丢失连接)

2 个答案:

答案 0 :(得分:2)

找到解决方案!

@echo off
:loop
set addresses=192.168.1.1
for %%a in (%addresses%) do ping %%a -n 1 > nul || netsh wlan add profile filename=C:\User\path\to\wireless\xml\profile.xml user=all
timeout /t 5
goto :loop

这样做是ping地址一次(在这种情况下是一个内部地址,所以我不会从站点获得DDoS威胁),如果它回复错误,它将加载一个wifi配置文件。 要首先获取个人资料,您需要输入

netsh wlan show profiles

查看您拥有的配置文件(它仅加载当前正在使用的无线网卡的配置文件)。看到配置文件的名称后,您可以通过键入

下载配置文件
netsh wlan export profile name=[profile name]

我相信它会保存到桌面,您可以在此处更改此注释顶部列出的代码,以匹配xml文件的文件路径以满足您的需求。

干杯!

答案 1 :(得分:0)

定期执行ping并检查结果的批处理脚本怎么样?

ping some.host > pinged.txt
find "some string which occurs if the network went down" pinged.txt

如果%errorlevel%为0且找不到字符串且连接断开。