0

我试图在 cmd 中完成此命令,但我无法修复它。谁能帮我?

netsh wlan show networks | FIND "turned off" /I /C
if "dont know what should be here" == 0 (
echo   enabled
) else (
echo  disabled
)
pause
4

3 回答 3

1

您正在寻找%errorlevel%变量,该变量指示上次执行的命令的退出状态(在您的情况下find)。但是,您必须恢复您的逻辑,因为当适配器被禁用时 find 返回 0(即“成功”)。另外,我建议进行数字比较 ( equ) 而不是字符串比较 ( ==)。

if %errorlevel% equ 0 (
  echo disabled
) else (
  echo enabled
)
于 2013-06-06T15:11:21.667 回答
0

您所要做的就是尝试启用它,无论它是启用还是禁用

netsh interface set interface name="适配器名称" admin=enable || 回声已启用

如果适配器已经启用,那么它不会做任何事情,所以双管道 || 意味着如果第一个命令中有错误,它将执行后面的任何命令,即 echo“已经启用”。

如果它说“这个网络连接不存在”忽略它,这意味着适配器已经启用。

于 2014-07-31T17:35:27.857 回答
0

我将这段代码放在一起作为批处理脚本。打开/关闭我的无线网络连接就像一个魅力:

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)

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

于 2016-01-14T22:41:47.110 回答