2013-06-06 10 views

ответ

1

Вы ищете %errorlevel% переменную, которая указывает статус выхода последней команды, выполняемой (в вашем случае find). Однако вы должны вернуть свою логику, потому что find возвращает 0 (т. Е. «Успех»), когда адаптер отключен. Кроме того, я бы рекомендовал сделать числовое сравнение (equ) вместо сравнения строк (==).

if %errorlevel% equ 0 (
    echo disabled 
) else (
    echo enabled 
) 
0

Все, что вам нужно сделать, это попытка включить его или нет он включен или выключен

Netsh интерфейс имя набора интерфейс = «имя адаптера» админ = включить || эхо-сигнал уже включен

Если адаптер уже включен, он ничего не сделает, поэтому двойные трубы || означает, что если в первой команде есть ошибка, она выполнит любую команду после нее, которая уже активирована.

Если в нем указано, что «это сетевое соединение не существует», игнорируйте это, это означает, что адаптер уже включен.

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) 

Если у вас есть более одного подключения к беспроводной сети, изменить название для вашего конкретного имени сетевого соединения, и что будет делать.