2016-03-14 145 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將找不到。 –