2016-03-14 112 views
0

我读了For循环,但我不知道如何集成一个IF语句,使它看起来更像一个WHILE语句。如何在批处理文件中断开Wifi连接命令(直到连接)?

Windows任务计划程序将挑选断开连接事件并运行我的批处理文件。

虽然WiFi从“GUHOA”SSID断开连接,但每隔5秒运行一次“netsh wlan connect name = GUHOA”命令,直到其连接停止。

任何想法?

这是林建设关中:

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 
) 

回答

1

一个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你管的netshecho输出,所以你不会看到它(但也许这就是你的意图)

+0

嘿感谢快速回复!那不是我的意图,我不知道。谢谢您的帮助。我可以解决你给我的东西。 – mitoKon

+0

谢谢,太棒了! 我只改变了一点点第二行,找到使用wlan的Wifi SSID: 'netsh wlan show interfaces |找到“WIFI_SSID”/ I/C“ 如果它没有连接,SSID将找不到。 –