如果断开连接则连接,如果批量连接则断开连接

如果断开连接则连接,如果批量连接则断开连接

我正在尝试执行一行批处理命令(用于autohotkey键盘快捷键)来执行以下操作:

  • 如果已连接,则断开 Wifi:netsh wlan disconnect
  • 如果 Wifi 当前已断开连接,则连接到 SSID="MyWifi":netsh wlan connect ssid="MyWifi" name="MyWifi"

如果已连接,则输出一些结果,如果已断开连接,则不输出任何结果:

netsh interface show interface |findstr /C:"Connected"

在某种条件下如何使用它if else

示例(伪代码):

if ((netsh interface show interface |findstr /C:"Connected") == "")
then netsh wlan connect ssid="MyWifi" name="MyWifi"
else netsh wlan disconnect

答案1

一句话:

setlocal EnableDelayedExpansion & netsh interface show interface |findstr /C:"Connected" & IF !ErrorLevel! EQU 0 (netsh wlan disconnect) else (netsh wlan connect ssid="mywifi" name="mywifi")

作为没有 setlocal 的一行程序:

(netsh interface show interface |findstr /C:"Conectado" && netsh wlan disconnect) || netsh wlan connect ssid="Galaxy21" name="Galaxy21"

答案2

这对我有用:

netsh interface show interface | findstr /C:"Connected"
if %ERRORLEVEL% NEQ 0 (
    netsh wlan connect ssid="WifiName" name="WifiName"
) else (
    netsh wlan disconnect
)

相关内容