Проверка ошибок в пакетном скрипте / Поиск строк

Как я могу найти и сравнить более одного набора строк в пакетном режиме, чтобы проверить наличие ошибок??? Я знаю, как это сделать с помощью одного набора строк:

FINDSTR /C:"successful" someFile.txt && (ECHO It was successful.)|| ECHO It failed.

Здесь он ищет слово «успешно» в этом файле someFile.txt и выводит 1-е эхо, если находит строку, и 2-е эхо, если не может найти строку. Теперь я хочу искать не только 1, но и 2 или 3 набора слов/строк одновременно. Это возможно?


person duper    schedule 02.07.2012    source источник
comment
Что плохого в вызове FINDSTR более одного раза?   -  person Doc Brown    schedule 02.07.2012
comment
@DocBrown, нет ничего плохого в том, чтобы использовать FINDSTR более одного раза. Я просто хотел посмотреть, возможно ли то, что я хотел сделать более организованным образом, чем снова и снова иметь кучу FINDSTR. Учиться никогда не помешает.   -  person duper    schedule 02.07.2012


Ответы (2)


Если вы не используете параметр /C для findstr, вы можете перечислить несколько слов, разделенных пробелами, которые нужно искать:

findstr "foo bar baz" someFile.txt

будет искать один из foo, bar или baz.

person Joey    schedule 02.07.2012
comment
@duper: я предполагал, что вы имели в виду более одного набора строк, как вы написали, не более одной строки (что, я думаю, вы уже знаете). - person Doc Brown; 03.07.2012
comment
@DocBrown, спасибо за помощь! :) Изначально я это и имел в виду. Но, все работает сейчас. - person duper; 03.07.2012

Я думаю, лучший способ здесь - правильно использовать эти команды условного выполнения. Или, как сказал @DocBrown, используйте FINDSTR несколько раз.

person duper    schedule 05.07.2012