如何在批处理文件中断开连接时循环 Wifi 连接命令,直到连接?
How to Loop Wifi connect command while disconnected, until connected, in a batch file?
我阅读了 For 循环,但我不确定如何集成 IF 语句以使其看起来更像 WHILE 语句。
Windows 任务计划程序将获取断开连接事件和 运行 我的批处理文件。
当 wifi 与 "GUHOA" SSID 运行 断开连接时,"netsh wlan connect name=GUHOA" 命令每 5 秒一次,直到其连接然后停止。
有什么想法吗?
这是我构建的基础:
netsh interface show interface | find "Enabled Connected Dedicated Wireless Network Connection" /I /C
IF %ERRORLEVEL% equ 1 (
netsh wlan connect name=GUHOA | echo Connecting to GUHOA
) ELSE (
echo Already connected
)
a for
可能不是这里的最佳解决方案。改用简单的循环:
:loop
netsh interface show interface | find "Enabled Connected Dedicated Wireless Network Connection" /I /C
IF %ERRORLEVEL% equ 0 goto :connected
netsh wlan connect name=GUHOA | echo Connecting to GUHOA
timeout 5 >nul
goto :loop
:connected
echo I'm connected.
注意:使用 netsh ... | echo something
时,您将 netsh
的输出通过管道传输到 echo
,因此您不会看到它(但也许这就是您的意图)
我阅读了 For 循环,但我不确定如何集成 IF 语句以使其看起来更像 WHILE 语句。
Windows 任务计划程序将获取断开连接事件和 运行 我的批处理文件。
当 wifi 与 "GUHOA" SSID 运行 断开连接时,"netsh wlan connect name=GUHOA" 命令每 5 秒一次,直到其连接然后停止。
有什么想法吗?
这是我构建的基础:
netsh interface show interface | find "Enabled Connected Dedicated Wireless Network Connection" /I /C
IF %ERRORLEVEL% equ 1 (
netsh wlan connect name=GUHOA | echo Connecting to GUHOA
) ELSE (
echo Already connected
)
a for
可能不是这里的最佳解决方案。改用简单的循环:
:loop
netsh interface show interface | find "Enabled Connected Dedicated Wireless Network Connection" /I /C
IF %ERRORLEVEL% equ 0 goto :connected
netsh wlan connect name=GUHOA | echo Connecting to GUHOA
timeout 5 >nul
goto :loop
:connected
echo I'm connected.
注意:使用 netsh ... | echo something
时,您将 netsh
的输出通过管道传输到 echo
,因此您不会看到它(但也许这就是您的意图)