我试图在 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(即“成功”)。另外,我建议进行数字比较 ( equ
) 而不是字符串比较 ( ==
)。
if %errorlevel% equ 0 (
echo disabled
) else (
echo enabled
)
您所要做的就是尝试启用它,无论它是启用还是禁用
netsh interface set interface name="适配器名称" admin=enable || 回声已启用
如果适配器已经启用,那么它不会做任何事情,所以双管道 || 意味着如果第一个命令中有错误,它将执行后面的任何命令,即 echo“已经启用”。
如果它说“这个网络连接不存在”忽略它,这意味着适配器已经启用。
我将这段代码放在一起作为批处理脚本。打开/关闭我的无线网络连接就像一个魅力:
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)
如果您有多个无线网络连接,请更改特定网络连接名称的名称,这样就可以了。