我正在尝试执行一行批处理命令(用于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
)