Как использовать командную строку или PowerShell для быстрого поиска файлов

Примеры, когда пользователь помнит название файла, но забывает, куда именно он его положил, не такая уже и редкость. Найти затерявшийся среди множества других файлов нужный файл не составляет особой проблемы, другое делo, если файл нужно найти быстро. А это не всегда возможно, например, по причине отключенной индексации. В таких случаях могут выручить сторонние утилиты типа MasterSeeker, которые ищут по файловой таблице, но можно обойтись и без них.

С задачей быстрого поиска неплохо справляются командная строка и PowerShell.

Начнем с классической командной строки.

Для поиска в консоли CMD используется две основные команды: where и dir.

Способ с использованием первой команды не слишком быстрый, но все же он более быстр, чем поиск с использованием средств Проводника.

Выглядит команда следующим образом:

where /R C:\ log54.txt

В данном примере ищется файл log54.txt на диске C, поиск выполняется рекурсивно, в случае обнаружения файла команда возвращает полный к нему путь. Если файл отсуствует в выбранном расположении, команда вернет сообщение «не удается найти файлы по заданным шаблонам».

Where

Поддерживается поиск с использованием замещающих символов, например, команда where /R C:\ *g54*.* станет искать файлы, в имени которых имеется «g54» независимо от расширения.

Where

Быстрее where работает команда dir, выводящая не только путь к каталогу с искомым файлом, но и количество объектов в каталоге.

Выглядит команда так:

dir /a /s C:\log54.txt

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

Dir

Как и в случае с where, поддерживается использование замещающих символов.

Dir

Поиск в PowerShell

Для поиска объектов файловой системы в PowerShell предусмотрен командлет ChildItem с ключом Recurse.

В случае поиска по системному диску в команду рекомендуется добавить специальный ключ, гасящий вывод ошибок доступа к системным файлам.

Вот так:

Get-ChildItem -Path C:\ "log54.txt" -Recurse -Force -ErrorAction SilentlyContinue

Get-ChildItem

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

Разумеется, можно использовать подстановочные символы – звездочки в имени и расширении.

Как и при работе с командной строкой, поиск в PowerShell может занять много времени, но как правило, результат не заставляет себя ждать.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...

1 комментарий

Добавить комментарий для Sergey Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *