|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Включение/отключение устройств одним .bat файлом |
|
CMD/BAT - [решено] Включение/отключение устройств одним .bat файлом
|
Новый участник Сообщения: 3 |
Профиль | Отправить 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 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 23:37, 26-10-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Спасибо, работает.
Только нужно было devcon закинуть в system32. |
Отправлено: 02:02, 27-10-2013 | #3 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать Цитата BuSHmaker:
|
|
------- Отправлено: 11:50, 27-10-2013 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Цитата Гуллипут:
Я редко юзаю девкон, но уже больше года хотел её переместить какой-нибудь PATH. |
||
Отправлено: 16:31, 28-10-2013 | #5 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать То есть devcon находился в корне ? Тогда понятно.
|
Отправлено: 00:25, 29-10-2013 | #6 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Моя задача немного сложнее. При загрузке системы, устройство чаще всего не запускается.
Вот, что выдаёт: C:\Windows\system32>devcon64 status "@USB\VID_0079*PID_0007\5&326C0CBC&0&10" USB\VID_0079&PID_0007\5&326C0CBC&0&10 Name: USB- Device has a problem: 10. 1 matching device(s) found. Если сделать рестарт устройства 1-3 раза, через команду devcon64 restatrt, оно запускается и работает нормально.Пишет: Driver is running. ЗАДАЧА: Как сделать, чтобы при запуске батника: 1.Проверка статуса устройства, если оно запущено нормально (Driver is running.), то ничего не делать. 2. Если не запустилось (Device has a problem: 10.), то devcon64 restatrt. Причём команда повторялась бы до тех пор, пока устройство не запуститься, то есть в статусе будет - Driver is running. Знаю, что нужно использовать if,findstr, for, но как это реализовать - не знаю. Обновление драйверов не предлагать. Устройство устаревшее, и чего я только не перепробовал, и не только я - всё бесполезно. Буду очень признателен за любую помощь. Заранее благодарю за ответ. |
Отправлено: 18:15, 02-01-2017 | #7 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать ivantresh,
допустим так: но вряд-ли, перезапускать надо что-то по-глобальнее чтобы проблемный драйвер запустился и скорее после метки :st, нужна строка запуска чего-то еще. |
Отправлено: 21:47, 02-01-2017 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата alpap:
|
|
Отправлено: 22:49, 02-01-2017 | #9 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Вот, что сделал я:
Файл батника devcon64 status "@USB\VID_0079*PID_0007\5&326C0CBC&0&10"|findstr /C:"Device has a problem: 10" if not errorlevel 1 ( devcon64 restart "@USB\VID_0079*PID_0007\5&326C0CBC&0&10" ) Как бы сюда вставить цикл for или goto, что бы устройство пере запускалось пока не запустится нормально + небольшие паузы после каждого рестарта ? Лишний рестарт может привести к той же ошибке. Нужно, чтобы устройство пере запускалось (команда devcon64 restart) до тех пор, пока нормально не запустится. То есть команда devcon64 status выдаст строку - Driver is running. Обычно бывает достаточно одного перезапуска, но иногда 2-3, очень редко 4. А иногда перезапуск вообще не нужен. |
Последний раз редактировалось ivantresh, 03-01-2017 в 00:11. Причина: Дополнение Отправлено: 23:54, 02-01-2017 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - помогите с 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 |
|