Примеры, когда пользователь помнит название файла, но забывает, куда именно он его положил, не такая уже и редкость. Найти затерявшийся среди множества других файлов нужный файл не составляет особой проблемы, другое делo, если файл нужно найти быстро. А это не всегда возможно, например, по причине отключенной индексации. В таких случаях могут выручить сторонние утилиты типа MasterSeeker, которые ищут по файловой таблице, но можно обойтись и без них.
С задачей быстрого поиска неплохо справляются командная строка и PowerShell.
Начнем с классической командной строки.
Для поиска в консоли CMD используется две основные команды: where и dir.
Способ с использованием первой команды не слишком быстрый, но все же он более быстр, чем поиск с использованием средств Проводника.
Выглядит команда следующим образом:
where /R C:\ log54.txt
В данном примере ищется файл log54.txt на диске C, поиск выполняется рекурсивно, в случае обнаружения файла команда возвращает полный к нему путь. Если файл отсуствует в выбранном расположении, команда вернет сообщение «не удается найти файлы по заданным шаблонам».
Поддерживается поиск с использованием замещающих символов, например, команда where /R C:\ *g54*.* станет искать файлы, в имени которых имеется «g54» независимо от расширения.
Быстрее where работает команда dir, выводящая не только путь к каталогу с искомым файлом, но и количество объектов в каталоге.
Выглядит команда так:
dir /a /s C:\log54.txt
Обратите внимание, что между буквой диска, на котором выполняется поиск, и имением файла пробел не добавляется.
Как и в случае с where, поддерживается использование замещающих символов.
Поиск в PowerShell
Для поиска объектов файловой системы в PowerShell предусмотрен командлет ChildItem с ключом Recurse.
В случае поиска по системному диску в команду рекомендуется добавить специальный ключ, гасящий вывод ошибок доступа к системным файлам.
Вот так:
Get-ChildItem -Path C:\ "log54.txt" -Recurse -Force -ErrorAction SilentlyContinue
В случае успеха команда возвращает путь к папке с файлом, если файл не найден, ничего выведено не будет.
Разумеется, можно использовать подстановочные символы – звездочки в имени и расширении.
Как и при работе с командной строкой, поиск в PowerShell может занять много времени, но как правило, результат не заставляет себя ждать.
Лучший поисковик для Windows - Everything
Увы только не во всех компаниях его безопасники разрешают. А для дома это незаменимый инструмент.