Пытаюсь автоматизировать установку драйверов с 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 строки выше строки, содержащей слово «проблема»?

0
mr netlord 19 Авг 2014 в 12:09

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

0
mr netlord 21 Авг 2014 в 10:27