Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Включение/отключение устройств одним .bat файлом

Ответить
Настройки темы
CMD/BAT - [решено] Включение/отключение устройств одним .bat файлом

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Помогите с батником который будет отключать устройство если оно включено и включать если оно выключено.
Знаю, что нужно использовать devcon, findstr, if и goto да с if не дружу.

Вот состояния устройства

C:\>devcon_x64.exe disable "HID\VID_045E&PID_00F9&REV_0002&MI_01&Col02"
HID\VID_045E&PID_00F9&MI_01&COL02\7&18BF0AD&0&0001 : Disabled
1 device(s) disabled.

C:\>devcon_x64.exe status "HID\VID_045E&PID_00F9&REV_0002&MI_01&Col02"
HID\VID_045E&PID_00F9&MI_01&COL02\7&18BF0AD&0&0001
Name: HID- Device is disabled.
1 matching device(s) found.

C:\>devcon_x64.exe enable "HID\VID_045E&PID_00F9&REV_0002&MI_01&Col02"
HID\VID_045E&PID_00F9&MI_01&COL02\7&18BF0AD&0&0001 : Enabled
1 device(s) are enabled.

C:\>devcon_x64.exe status "HID\VID_045E&PID_00F9&REV_0002&MI_01&Col02"
HID\VID_045E&PID_00F9&MI_01&COL02\7&18BF0AD&0&0001
Name: HID- Driver is running.
1 matching device(s) found.

Отправлено: 19:15, 25-10-2013

 

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата VasyaOK:
лучше сделать проще »
чем решение в одну строку на cmd?
Цитата VasyaOK:
решение поставленной задачи в рамках devcon »
какие рамки вас смущают? Начнем с того что с devcon вы работаете в рамках cmd и задачу я решил тоже в этих же рамках cmd - так в чем проблема?

Отправлено: 15:37, 30-03-2019 | #21



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 70
Благодарности: 10

Профиль | Отправить PM | Цитировать


Цитата alpap:
чем решение в одну строку на cmd? »
Тем, что работает. А "решение в одну строку на cmd" - нет. Только этим . Вот, что выдаётся:
Код: Выделить весь код
No matching devices found.
Для продолжения нажмите любую клавишу . . .
Кстати, 'pause' можно убрать - я запускаю все подобные вещи через FAR; ошибки мне прекрасно видны...
Цитата alpap:
какие рамки вас смущают? Начнем с того что с devcon вы работаете в рамках cmd и задачу я решил тоже в этих же рамках cmd - так в чем проблема? »
Код: Выделить весь код
на машине с несколькими сетевками с однотипным чипсетом DEVCON у меня выключал все сетевки, хотя просили только одну - такие вот спецэффекты...
Ссылку я уже выше приводил...
Нет, если получится (с DEVCON) я не возражаю - боже упаси! Просто мне кажется, CNIC - не случайно возник . Такая вот рифма.

Последний раз редактировалось VasyaOK, 30-03-2019 в 16:00. Причина: Причина!


Отправлено: 15:59, 30-03-2019 | #22


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


VasyaOK, какой вывод этого?
Код: Выделить весь код
@echo off
for /f "delims=:" %%a in ('devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02"^|find /v "matching"') do (
 echo "%%a"
)
pause

Отправлено: 16:29, 30-03-2019 | #23


Пользователь


Сообщения: 70
Благодарности: 10

Профиль | Отправить PM | Цитировать


alpap,

"PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5"
"PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&525529E&0&00E4"

Отправлено: 16:34, 30-03-2019 | #24


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


значит так выводит нужную строку, так?
Код: Выделить весь код
@echo off
for /f "delims=:" %%a in ('devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02"^|find /v "matching"') do (
 <nul set /p="%%a"|>nul findstr /e "E4" && echo "%%a"
)
pause

Отправлено: 16:37, 30-03-2019 | #25


Пользователь


Сообщения: 70
Благодарности: 10

Профиль | Отправить PM | Цитировать


alpap,
"PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&525529E&0&00E4"
А мне нужно отключать
"PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5"

Отправлено: 16:48, 30-03-2019 | #26


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


VasyaOK,
ну поменяйте E4 на E5, но "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5" это именно ID? Иначе отключит только по "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02", а сюда обе строки попадают.

Отправлено: 17:10, 30-03-2019 | #27


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


VasyaOK, даже не знаю, что посоветовать.

У меня, кстати, точно так же. Пока я задаю в команде «devcon.exe find» только Hardware ID — ищет и находит:



Как только я пытаюсь добавить к Hardware ID ещё и Instance ID конкретного устройства:
Цитата:
Код: Выделить весь код
PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_0C\4&1DCB0711&0&00E2
    Name: Realtek PCIe GBE Family Controller
    Hardware IDs:
        PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_0C
        PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458
        PCI\VEN_10EC&DEV_8168&CC_020000
        PCI\VEN_10EC&DEV_8168&CC_0200
    Compatible IDs:
        PCI\VEN_10EC&DEV_8168&REV_0C
        PCI\VEN_10EC&DEV_8168
        PCI\VEN_10EC&CC_020000
        PCI\VEN_10EC&CC_0200
        PCI\VEN_10EC
        PCI\CC_020000
        PCI\CC_0200
…
— увы и ах:



В связи с чем возникает вопрос — а умеет ли работать DevCon с Instance ID в принципе? Либо это я что-то не так делаю?

Отправлено: 17:31, 30-03-2019 | #28


Пользователь


Сообщения: 70
Благодарности: 10

Профиль | Отправить PM | Цитировать


Цитата alpap:
ну поменяйте E4 на E5 »
Не очень понял, чего менять...
Цитата alpap:
но "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5" это именно ID? »
Ну, конечно - их всего 2-е строки.
Так как будет выглядеть команда на отключение?

Iska,

Повторюсь: http://www.nncron.ru/forums/viewtopi...d571dc1#p17887

Отправлено: 17:51, 30-03-2019 | #29


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


VasyaOK, проверил ваш cnic, да, так отключает (по имени):
Код: Выделить весь код
cnic.exe "Имя адаптера (сетевого подключения)" -d

Отправлено: 18:32, 30-03-2019 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Включение/отключение устройств одним .bat файлом

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - помогите с bat файлом vasmixser Программирование и базы данных 6 25-10-2013 12:05
CMD/BAT - Перезапустить службу bat файлом ruslanstep1 Программирование и базы данных 8 26-06-2013 13:03
Разное - странности с bat-файлом бУРов Microsoft Windows 7 0 05-03-2012 16:44
Любой язык - Отключение устройства одним кликом VokaMut Скриптовые языки администрирования Windows 4 20-12-2011 12:24
CMD/BAT - [решено] Отключение/включение служб с помощью bat/vbs возможно ли ? dark-------13 Скриптовые языки администрирования Windows 1 05-05-2011 09:54




 
Переход