Попытка найти файлы с помощью FINDSTR, используя pattern1 и pattern2 в командной строке Windows - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь файлы в dir, используя командную строку со строкой.

findstr /m /i "Pattern1" *.txt | findstr /m /i "Pattern2" *.txt

Команда возвращает результаты, но только для Pattern2

1 Ответ

0 голосов
/ 15 февраля 2019

К И шаблоны анализируют результаты первого findstr с for /f

@Echo off
for /f "delims=" %%A in (
  'findstr /m /i "Pattern1" *.txt 2^>Nul'
) do findstr /mi "Pattern2" %%A 1>Nul 2>&1 && Echo %%A matches both Patterns

Если два шаблона появляются в порядке в одной строке, вы можете иметьодно регулярное выражение типа

findstr /m /i "Pattern1.*Pattern2" *.txt

В противном случае возможности регулярного выражения findstr весьма ограничены.

...