ivantresh
02-01-2017, 19:02
Помогите пожалуйста c батником, который будет пере запускать устройство если оно запустилось с ошибкой.
Знаю, что нужно использовать devcon, findstr, if и goto да и с if, for не дружу. Как это всё реализовать - не знаю.
При загрузке системы, устройство чаще всего запускается с ошибкой.
Вот, что выдаёт:
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. И с небольшими паузами после каждого рестарта. Лишний рестарт приведёт к той же ошибке.
Вот всё, что я смог:
Файл батника
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, что бы устройство пере запускалось пока не запустится нормально + небольшие паузы после каждого рестарта ?
Обновление драйверов не предлагать. Устройство устаревшее, и чего я только не перепробовал, и не только я - всё бесполезно.
Буду очень признателен за любую помощь. Заранее благодарю за ответ.
Знаю, что нужно использовать devcon, findstr, if и goto да и с if, for не дружу. Как это всё реализовать - не знаю.
При загрузке системы, устройство чаще всего запускается с ошибкой.
Вот, что выдаёт:
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. И с небольшими паузами после каждого рестарта. Лишний рестарт приведёт к той же ошибке.
Вот всё, что я смог:
Файл батника
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, что бы устройство пере запускалось пока не запустится нормально + небольшие паузы после каждого рестарта ?
Обновление драйверов не предлагать. Устройство устаревшее, и чего я только не перепробовал, и не только я - всё бесполезно.
Буду очень признателен за любую помощь. Заранее благодарю за ответ.