Как найти файл по фразе в документе

Обновлено: 22.12.2024

В Windows есть некоторые встроенные возможности поиска, но они могут вам не понравиться. Cortana или стандартное поле поиска на панели задач и поле поиска в проводнике файлов в Windows 10 позволяют выполнять поиск по содержимому файлов, но они могут быть медленными, особенно поиск в проводнике.

Существует более быстрый способ поиска содержимого файлов на жестком диске с помощью командной строки. Команда find ищет текстовые строки в файлах и возвращает строки из файлов, в которых была найдена текстовая строка.

ПРИМЕЧАНИЕ. Команда find не подходит для больших файлов или большого количества файлов.

Сегодня мы рассмотрим, как использовать команду find, и приведем несколько примеров.

Откройте окно командной строки с правами администратора

Открытие окна командной строки от имени администратора не требуется. Тем не менее, это поможет вам избежать раздражающих диалоговых окон подтверждения. Просто будьте осторожны, какие команды вы запускаете от имени администратора в командной строке. Использование команды find в качестве администратора безопасно, поскольку она не изменяет и не удаляет файлы.

Введите cmd.exe в поле поиска на панели задач. Затем щелкните правой кнопкой мыши на пункт « Командная строка» и выберите « Запуск от имени администратора» во всплывающем меню.

Если появится диалоговое окно « Контроль учетных записей », нажмите « Да», чтобы продолжить.

ПРИМЕЧАНИЕ. Это диалоговое окно может не отображаться в зависимости от настроек контроля учетных записей. Мы не рекомендуем полностью отключать UAC.

Ключи и параметры для команды find

Большинство команд имеют дополнительные ключи, которые изменяют стандартное действие команды. Вы можете получить справку, чтобы увидеть все доступные ключи для команды find , набрав в строке следующую строку и нажав Enter:

Ключи могут быть строчными или прописными.

Для параметра «string» вы должны заключить строку в двойные кавычки, иначе команда find не будет работать и вернет ошибку.

Параметр имени диска [drive:] [path] может быть любым, от буквы диска до одного файла или нескольких файлов.

Синтаксис для команды поиска

Синтаксис команды - это особый способ организации команды, ее ключей и параметров. Ниже приведен общий синтаксис команды find.

find [ ключи ] " строка " [ путь ]

Ключи могут быть в любом порядке, если они находятся перед параметром «string» . Скобки [] указывают, что ключ или параметр является необязательным.

Поиск отдельного документа для текстовой строки

Сначала мы покажем вам, как искать в одном документе все вхождения текстовой строки. Следующая команда ищет в файле example1.txt фразу «groovypost - is the best tech site».

find "groovypost - is the best tech site" "C:\Users\Lori\Documents\FindCommandExamples\example1.txt"

ПРИМЕЧАНИЕ. Если в какой-либо части пути или имени файла есть пробелы, вы должны заключать в кавычки весь путь, как мы делали в приведенной выше команде. Кавычки на самом деле не нужны в этом случае, но они точно не помешают.

Обратите внимание, что фраза не была найдена в приведенном выше примере (ничего не указано под путем к файлу), даже если она находится в файле. Это потому, что случай в «groovypost» не совпадает с тем, что было в файле, то есть «groovyPost». Добавьте ключ « /i » (ignore case) сразу после команды поиска (перед фразой), чтобы игнорировать регистр при поиске текстовой фразы.

find /i "groovypost - is the best tech site" "C:\Users\Lori\Documents\FindCommandExamples\example1.txt"

Теперь фраза найдена, и вся строка, содержащая фразу, выводится на экран под путем к файлу, в котором выполняется поиск.

Поиск нескольких документов по одной и той же текстовой строке

Теперь, когда вы можете искать один файл для текстовой строки, давайте искать несколько файлов для одной и той же строки.

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

find /i "groovypost" "C:\Users\Lori\Documents\FindCommandExamples\example1.txt" "C:\Users\Lori\Documents\FindCommandExamples\example2.txt"

Вы также можете искать все текстовые файлы в каталоге, используя подстановочный знак, который является звездочкой (*), как показано в следующей команде.

find /i "groovypost" "C:\Users\Lori\Documents\FindCommandExamples\*.txt"

Поисковый термин был найден в обоих документах, а предложения, в которых они были найдены, перечислены под полным путем к каждому файлу.

Подсчитать количество строк в файле

Если вы хотите узнать, сколько строк в файле, вы можете использовать комбинацию команд type и find . Команда type отображает содержимое одного или нескольких текстовых файлов.

Мы передали результаты команды type в команду find, используя вертикальную черту (|). Мы использовали ключ « /v » для отображения всех строк, НЕ содержащих строку «» , поэтому каждая строка с текстом будет подсчитана. Чтобы отобразить только количество строк в текстовом файле (не сами строки), мы используем ключ « /c ».

type C:\Users\Lori\Documents\FindCommandExamples\example1.txt | find "" /v /c

Отправьте вывод другой команды в команду поиска

Вы также можете выполнить поиск определенной строки во всех именах файлов в каталоге, отправив выходные данные команды dir в команду find .

Например, мы получили список каталогов C:\Users\Lori\Documents\FindCommandExamples и все подкаталоги в этом каталоге (ключ /s ). Мы также указали использовать пустой формат без информации о заголовке (ключей « /b ») и отобразили список в том же формате, что и формат широкого списка (ключ « /w »), но отсортированный по столбцу (« /d »).

Затем мы направляем (|) вывод команды dir в команду find, добавляя только «example» в качестве параметра. Мы не добавляли никаких ключей в команду поиска. Имена файлов для поиска берутся из вывода команды dir .

dir "C:\Users\Lori\Documents\FindCommandExamples" /s /b /d | find "example"

А вы предпочитаете использовать команду поиска или поле поиска в проводнике? Как вы использовали команду поиска? Поделитесь своими идеями и примерами с нами в комментариях ниже.

Читайте также: