Проводник Windows ищет имя файла с подстрокой

Проводник Windows ищет имя файла с подстрокой

Самая загадочная функция, когда-либо созданная

Я пытался найти файл в каталоге с датой xxx.01.22.xxx. Я пробовал name:01.22или name:*.01.22.*, но ничего не вышло. (Файл был там после того, как я сам его проверил.)

Какой правильный синтаксис для этого поиска? Какие специальные символы могут испортить поиск имени файла в Windows? (кстати, я думаю, что мне никогда не удавалось найти имя файла по номеру, если подумать...)

Я испытываю трудности с использованием окна поиска Windows Explorer с тех пор, как вышла Windows 10, и мне никогда не удавалось эффективно использовать его даже для простого поиска по имени файла. Есть ли какие-нибудь хорошие курсы по использованию этой функции?

решение1

Звездочка * — это подстановочный знак для имен файлов Windows. Пока 01.22 действительно присутствует в имени файла (а не в метаданных даты файла), просто используйте одну звездочку с обеих сторон:

*01.22*

Это позволит найти любой файл, содержащий "01.22" в любом месте имени файла. Вам не нужен префикс "name:".

Однако если вы хотите выполнить поиск файла на основе метаданных даты изменения, используйте следующий формат строки:

изменено:22.01.2021 ..23.01.2021

"изменено:дата_начала .. дата_конца". Формат даты может быть вариантом культуры в зависимости от того, для какой страны настроен ваш Windows. У меня это en-US.

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

решение2

Используйте PowerShell, это можно сделать в одну строку, сначала откройте PowerShell:

Win+ R>>тип powershell>>Enter

Используйте код, аналогичный следующему, при его использовании замените путь и даты:

Get-ChildItem -Path 'path\to\folder' -Force -Recurse | where {$_.LastWriteTime -ge [datetime]"2021-01-22 00:00" -and $_.LastWriteTime -le [datetime]"2021-01-23 00:00"}

Это должно дать вам то, что вы хотите.

решение3

Спасибо @Seven за идеальный ответ. Он был в разделе ответов, поэтому я не могу выбрать его как ответ. Цитирую его здесь

Имя: ~=01.22работает Ссылка:https://answers.microsoft.com/en-us/windows/forum/windows_10-win_cortana/поиск-строки-в-имени-файла-в-файле/3cd4f5a6-cf33-4323-93b8-eb0d3904770f

Связанный контент