如何在批处理文件中断开连接时循环 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,因此您不会看到它(但也许这就是您的意图)