Пакетный файл для отображения только нескольких строк из существующего текстового файла - PullRequest
0 голосов
/ 09 января 2012

Привет. Я пытался получить только несколько строк из отображаемого существующего текста. Вот код, который я пытался.

type C:\SystemInfo1.txt | findstr /C:"OS Name:" | findstr /C:"OS Version:">c:\SystemInfo.txt
c:\systeminfo.txt

это работает только для одного, т. Е. «Имя ОС». Есть предложения?

1 Ответ

1 голос
/ 09 января 2012

Попробуйте это:

type C:\SystemInfo1.txt | findstr /C:"OS Name:" /C:"OS Version:"

Ключ заключается в том, чтобы использовать findstr только один раз, но при необходимости передавать ему несколько строк.

Возможно, вы сможете еще больше упростить, избавившись откоманда и конвейер "type":

findstr /C:"OS Name:" /C:"OS Version:"  C:\SystemInfo1.txt

Если искомые строки всегда находятся в начале строки, это может помочь вам преодолеть проблему, о которой вы комментировали (OS vs BIOS):

findstr /R "^OS (Version|Name)" C:\SystemInfo1.txt

Используется регулярное выражение для поиска «ОС» в начале строки, за которым следует «Версия» или «Имя».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...