我试图在cmd中完成此命令,但我无法修复它。有人能帮我吗?
netsh wlan show networks | FIND "turned off" /I /C
if "dont know what should be here" == 0 (
echo enabled
) else (
echo disabled
)
pause
您要查找的是%errorlevel%
变量,它表示最后执行的命令的退出状态(在您的示例中是find
)。但是,您必须恢复您的逻辑,因为find返回0(即。"success"),当适配器被禁用时。此外,我建议做一个数字比较(equ
)而不是字符串比较(==
)。
if %errorlevel% equ 0 (
echo disabled
) else (
echo enabled
)
你所要做的就是尝试启用它,无论它是启用还是禁用
netsh interface set interface name=" adapter name " admin=enable || echo already enabled
如果适配器已经启用,那么它不会做任何事情,所以双管道||意味着如果第一个命令出错,它将执行后面的命令echo "already enabled "。
如果显示"此网络连接不存在",请忽略它,这意味着适配器已经启用。
我将这段代码组合成一个批处理脚本。打开/关闭我的无线网络连接真是太神奇了:
netsh wlan show networks | FIND "Wireless network connection" /I /C
if %errorlevel% equ 1 (wmic path win32_networkadapter where NetConnectionID="Conexión de red inalámbrica" call enable) else (wmic path win32_networkadapter where NetConnectionID="Wireless network connection" call disable)
如果您有一个以上的无线网络连接,更改您的特定网络连接名称,就可以了。