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

Компьютерный форум 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

 

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


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

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


Проблему решил.

:loop
devcon_x64 status "@USB\VID_0079*PID_0007\5&326C0CBC&0&10"|findstr /C:"Device has a problem: 10"
if not errorlevel 1 (
devcon_x64 restart "@USB\VID_0079*PID_0007\5&326C0CBC&0&10"
timeout /t 1 /nobreak
goto loop
) else (
start C:\RAB\MSGPULTRUN.vbs
)

Отправлено: 09:31, 04-01-2017 | #11



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

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


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


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

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


У меня ситуация хуже: есть две интегрированные сетевые платы, нужно отключить одну из них. Разница там в одной цифре, 1-я плата - PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E4
2-я PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5
Ввожу команду devcon disable PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5 - вырубает обе
Не знаю, что и делать.

P.S. Через wmic или netsh не предлагать

Отправлено: 18:57, 29-03-2019 | #12


Ветеран


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

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


Цитата VasyaOK:
Не знаю, что и делать. »
Например, не забывать о том, что в командной строке символ «&» имеет особый смысл. Проще всего заключить идентификатор устройства в кавычки.

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


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


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

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


Iska,
Вот так?
D:\>devcon disable "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5"
No matching devices found.

Отправлено: 19:58, 29-03-2019 | #14


Ветеран


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

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


VasyaOK, так.

Покажите последовательно:
Код: Выделить весь код
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5"
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0"
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD"
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4"
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458"

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


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


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

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


Цитата Iska:
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5" »
No matching devices found.
Цитата Iska:
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0" »
No matching devices found.
Цитата Iska:
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD" »
No matching devices found.
Цитата Iska:
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4" »
No matching devices found.
Цитата Iska:
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458" »
PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5: Realtek PCIe GbE Family Controller
PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&525529E&0&00E4: Realtek PCIe GbE Family Controller #2
2 matching device(s) found.
Отключать нужно 1-ю.

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


Ветеран


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

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


VasyaOK, теперь так:
Код: Выделить весь код
devcon.exe find "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02"

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


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


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

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


Iska,
PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&2E680ECD&0&00E5: Realtek PCIe GbE Family Controller
PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\4&525529E&0&00E4: Realtek PCIe GbE Family Controller #2
2 matching device(s) found.

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


Ветеран


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

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


VasyaOK,
очевидно из этого что окончание "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02\***" - рандомное
выше и последнее
4&2E680ECD&0&00E4
4&525529E&0&00E4
поэтому и находит только по "PCI\VEN_10EC&DEV_8168&SUBSYS_E0001458&REV_02"
брать нужное можно именно таким образом, искать по этой строке потом внутри строки #2 (убедившись что это всегда принадлежит строке, например именно ...E4 или по E4 сразу и искать), а далее при положительном результате (&&) уже давать на выполнение в devcon.exe эту найденную нужную строку.
т.е. примерно так:
Код: Выделить весь код
@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" && devcon.exe disable "%%a"
)
pause

Последний раз редактировалось alpap, 30-03-2019 в 15:02.


Отправлено: 14:40, 30-03-2019 | #19


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


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

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


По-моему, лучше сделать проще:
http://www.nncron.ru/forums/viewtopi...d571dc1#p17887
Я, конечно, попробую ваш вариант - интересно же , но, насколько я понял, решение поставленной задачи в рамках devcon - ПРОБЛЕМА...
Это сообщение посчитали полезным следующие участники:

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



Компьютерный форум 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




 
Переход