2017-01-23 24 views
0

У меня есть файл с именем AAA.txt со следующим содержанием:Кормовые имена файлов из текстового файла в окно Findstr командует

text_file1.txt 
text_file2.txt 
text_file3.txt 

Я хочу, чтобы попытаться использовать команду findstr (форма: findstr "string" file) Таким образом, он будет искать строку hello world из файлов text_file1.txt, text_file2.txt и text_file3.txt.

Я знаю, что могу сделать: findstr "hello world" text_file*.txt для того же эффекта, но как я могу использовать AAA.txt для получения того же результата?

Сторона примечания: не разрешено использовать grep.

+0

Введите ** 'findstr /?' ** в ** ** cmd.exe ** окно и прочитайте вывод. – Compo

+0

Например, как насчет этого? 'cmd/c for/f" delims = "% a in (AAA.txt) do findstr" hello world "% a' – Tanaike

+0

Большое вам спасибо! Это именно то, что мне нужно. –

ответ

0

Открыть новую командную строку (cmd) экземпляр типа findstr /? и очень внимательно прочли помощь.

Вы найдете /F вариант в findstr command, что то, что вы ищете, я думаю:

findstr /F:"AAA.txt" "hello world" 

Это будет искать все файлы, перечисленные в AAA.txt для строк hello и world и возвращает каждую строку содержащий совпадение, которому предшествует имя/путь соответствующего файла и двоеточие (:).

Обратите внимание, что файлы, указанные по имени в AAA.txt, выполняются в текущем рабочем каталоге. Вам нужно указать их пути, если они находятся где-то в другом месте.

Если вы хотите найти точную строку hello world, вам необходимо изменить командную строку:

findstr /F:"AAA.txt" /C:"hello world" 

Для perfroming регистронезависимого поиска, добавьте /I вариант:

findstr /I /F:"AAA.txt" /C:"hello world" 

В Если вас интересуют только имена/пути файлов, содержащих совпадение, добавьте /M:

findstr /M /I /F:"AAA.txt" /C:"hello world"