Пытаюсь автоматизировать установку драйверов с windows PE. После загрузки PE и поиска устройств я получаю такой вывод:
devcon status *pci*
PCI\VEN_8086&DEV_0C05&SUBSYS_11F41734&REV_06\3&11583659&0&09
Name: PCI standard PCI-to-PCI bridge
Driver is running.
PCI\VEN_19A2&DEV_0800&SUBSYS_11CC1734&REV_00\4&313340F4&0&01E0
Name: Coprocessor
The device has the following problem: 28
Теперь меня интересуют только устройства с ошибкой / проблемой.
Как я могу определить, какие устройства затронуты?
Я пробовал это с помощью findstr:
devcon status *pci* | findstr /n /i "pci\\ name problem"
Но мне всегда достаются все устройства, а не только неисправные.
Самый простой способ использовать файл
devcon status *pci* > devcon.txt
findstr /n /i "problem" devcon.txt
С этим я получаю номера строк. Но как мне теперь прочитать строку на 2 строки выше строки, содержащей слово «проблема»?
1 ответ
Итак, после одного дня исследования я могу ответить себе на свой вопрос;)
Самый простой способ решить эту проблему - это linux grep (от cygwin64)
Я установил cygwin и скопировал эти файлы в pe
- grep.exe
- cygiconv-2.dll
- cygintl-8.dll
- cygpcre-1.dll
- cygwin1.dll
Моя командная строка теперь выглядит так
статус devcon * pci * | grep -B2 -i -e проблема -e остановлена > errors.txt
Возможно, я смогу сократить эту команду, но я счастлив, что она работает.
Netlord
Похожие вопросы
Новые вопросы
portable-executable
Формат Portable Executable (PE), являющийся модификацией COFF, является форматом файлов для исполняемых двоичных файлов в операционной системе Windows. Формат PE легко распознается по его «MZ DOS header» (0x4d 0x5a, «MZ» для «Mark Zbikowski»).