Поделиться через


находить

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

Синтаксис

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

Параметры

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

Коды выхода

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

Замечания

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

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

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

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

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

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

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

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

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

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

Примеры

Чтобы отобразить все строки из 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

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

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)