批处理文件,以检测是否启用wifi适配器



我试图在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)

如果您有一个以上的无线网络连接,更改您的特定网络连接名称,就可以了。

最新更新