find

Выполняет поиск строки текста в файле или файлах и отображает строки текста, содержащие указанную строку.

Syntax

find [/v] [/c] [/n] [/i] [/off[line]] <"string"> [[<drive>:][<path>]<filename>[...]]

Parameters

Parameter Description
/v Отображает все строки, не содержащие указанные <string>.
/c Подсчитывает строки, содержащие указанные <string>, и отображает общее значение.
/n Предшествует каждой строке с номером строки файла.
/i Указывает, что поиск не учитывает регистр.
[/off[line]] Не пропускает файлы, имеющие автономный набор атрибутов.
<"string"> Required. Указывает группу символов (заключенную в кавычки), которую требуется найти.
[<drive>:][<path>]<filename> Указывает расположение и имя файла, в котором выполняется поиск указанной строки.
/? Отображает справку в командной строке.

Exit codes

Exit code Description
0 Найдена поисковая строка
1 Поиск не найденной строки
2 Не найден или недопустимый переключатель командной строки для поиска

Remarks

  • Если вы не используете /i, эта команда ищет именно то, что вы указали для строки. Например, эта команда обрабатывает символы a и A по-разному. Однако, если вы используете /i, поиск становится нечувствительным к регистру, и он обрабатывает a и A как тот же символ.

  • Если строка, которую вы хотите найти, содержит кавычки, необходимо использовать двойные кавычки для каждой кавычки, содержащейся в строке (например, """Эта строка содержит кавычки"".

  • Если имя файла опущено, эта команда действует как фильтр, получая входные данные от стандартного источника ввода (обычно клавиатуры, вертикальной черты (|) или перенаправленного файла), а затем отображает все строки, содержащие строку.

  • Чтобы выйти из поиска консоли, используйте CTRL-X или CTRL-z.

  • Параметры и параметры командной строки для команды find можно вводить в любом порядке.

  • Вы не можете использовать подстановочные знаки (* и ?) в строке поиска. Для поиска строки с подстановочными знаками и шаблонами регулярных выражений можно воспользоваться командой FINDSTR .

  • Если вы используете /c и /v в одной командной строке, эта команда отображает количество строк, которые не содержат указанную строку. Если вы указываете /c и /n в одной командной строке, find игнорирует /n.

  • Эта команда не распознает возврат каретки. При использовании этой команды для поиска текста в файле, включающего возврат каретки, необходимо ограничить строку поиска текстом, который можно найти между возвратом каретки (т. е. строка, которая, скорее всего, не будет прервана возвратом каретки). Например, эта команда не сообщает о совпадении со строковым налоговым файлом, если возврат каретки происходит между словами налогом и файлом.

  • Команда принимает подстановочные знаки для имен файлов. При поиске в файле (или файлах) он выводит файл обработанного файла, предшествовающего десяти дефисам.

  • Команда Find не может прочитать альтернативные потоки данных. Для поиска в альтернативных потоках данных используйте команды findstr, more или for /f .

Examples

Чтобы отобразить все строки из pencil.md , содержащие точилку для струнных карандашей, введите:

find "pencil sharpener" pencil.md

Чтобы найти текст, "Ученые назвали свой документ только для обсуждения. Это не окончательный отчет". (включая кавычки) в файле report.txt введите:

find """The scientists labeled their paper for discussion only. It is not a final report.""" < report.txt

Для поиска набора файлов можно использовать подстановочные знаки. Чтобы выполнить поиск в текущем каталоге файлов с расширением .bat и содержащих строку PROMPT , игнорирующую регистр, введите:

find /i "PROMPT" *.bat

Чтобы найти имена файлов в каталоге, которые содержат строку CPU, используйте канал (|) для направления вывода команды dir команде find следующим образом:

dir c:\temp /s /b | find "CPU"

Найдите все запущенные процессы, которые НЕ содержат агента:

tasklist | find /v /i "agent"

Проверьте, запущена ли служба:

sc query  Winmgmt | find "RUNNING" >nul 2>&1 && (echo service is started) || (echo service is stopped)