11

Я часто задавался вопросом, как использовать фильтры поиска Windows. Доступная документация чрезвычайно ограничена, но ее потенциальное использование довольно велико.

Когда я что-то набираю, единственными поисковыми фильтрами, которые я вижу, являются "Дата изменения" и "Размер". Поиск в Google показывает мне несколько других вариантов, которые иногда работают. Каждый раз, когда я пытаюсь его использовать, я размышляю над тем, какие поисковые фильтры я могу использовать и какие опции поддерживает каждый фильтр?». Кто-нибудь есть идеи, где найти обширный список или как настроить поиск, чтобы дать мне раскрывающийся список возможностей?

Чтобы что-то найти, я всегда возвращаюсь в командную строку. Я хотел бы думать, что я могу сделать иначе.

2 ответа2

7

Вместо « Фильтры поиска » ключевые слова / фразы, которые вы на самом деле ищете, - это « Расширенный синтаксис запроса ».

Как всегда, MSDN - это место, куда можно обратиться за дополнительной помощью и подробностями:

Кстати, если вам нужна гораздо лучшая поисковая утилита с поддержкой RegEx , попробуйте AstroGrep или Everything.

4

Для поиска по атрибутам файловой системы (например, скрытый, системный, только для чтения и т.д.) Используйте ключевое слово attributes с интуитивно понятным, но в значительной степени недокументированным.  Как обсуждалось в этой теме на форумах справки Windows 7, использование

attributes:numeric_attribute_code(s)

Значения атрибута файла (константы)

FILE_ATTRIBUTE_READONLY      = 1
FILE_ATTRIBUTE_HIDDEN        = 2
FILE_ATTRIBUTE_SYSTEM        = 4
FILE_ATTRIBUTE_DIRECTORY     = 16
FILE_ATTRIBUTE_ARCHIVE       = 32
FILE_ATTRIBUTE_ENCRYPTED     = 64 or 16384
FILE_ATTRIBUTE_NORMAL        = 128
FILE_ATTRIBUTE_TEMPORARY     = 256
FILE_ATTRIBUTE_SPARSE_FILE   = 512
FILE_ATTRIBUTE_REPARSE_POINT = 1024
FILE_ATTRIBUTE_COMPRESSED    = 2048
FILE_ATTRIBUTE_OFFLINE       = 4096
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192

(В упомянутых выше справочных форумах по Windows 7 сказано, что FILE_ATTRIBUTE_ENCRYPTED - 64, но на этой странице о команде ATTRIB указано, что это 16384.  Мое тестирование (в Windows 7) показывает, что 16384 является правильным значением.)

Так, например, attributes:1 ищет файлы с установленным атрибутом READONLY.  Только.  При этом не будут найдены файлы с установленными атрибутами READONLY и ARCHIVE, используйте для этого attributes:33 .  Чтобы найти оба (т. Е. Файлы с установленным атрибутом READONLY, но не HIDDEN, SYSTEM, ENCRYPTED, COMPRESSED или любым другим экзотическим расширенным атрибутом, независимо от состояния атрибута ARCHIVE), вы можете использовать

attributes:1 OR attributes:33

Но этот синтаксис быстро становится громоздким.  К счастью, есть сокращенная форма:

attributes:(1 OR 33)

Ключевые слова соединения / дизъюнкции (AND и OR) должны быть написаны заглавными буквами; В ключевых словах фильтра поиска (свойства), таких как attributesfilename , kind , type , date , datemodified , size , owner , datetaken , author , title и т. д.), регистр не учитывается.  Кстати, если вам нравится дополнительная печать , вы можете сказать system.fileattributes вместо attributes .

Итак, вот числовые коды поиска для всех возможных поисков на основе атрибутов R , H и A  (+R представляет все файлы только для чтения, независимо от статуса H и A ; +R -H - пример сверху - все не скрытые файлы только для чтения.)

Атрибуты (символические)           Числовые attributes: значение (я)
  +R   (1 ИЛИ 3 ИЛИ 33 ИЛИ 35)
  +R +H   (3 ИЛИ 35)
  +R +H +A   35
  +R +H -A   3
  +R -H   (1 ИЛИ 33)
  +R -H +A   33
  +R -H -A   1
  +R +A   (33 ИЛИ 35)
  +R -A   (1 или 3)
  -R   (0 ИЛИ 2 ИЛИ 32 ИЛИ 34 ИЛИ 128)
  -R +H   (2 ИЛИ 34)
  -R +H +A   34
  -R +H -A   2
  -R -H   (0 ИЛИ 32 ИЛИ 128)
  -R -H +A   32
  -R -H -A   (0 ИЛИ 128)
  -R +A   (32 или 34)
  -R -A   (0 ИЛИ 2 ИЛИ 128)
  +H   (2 ИЛИ 3 ИЛИ 34 ИЛИ 35)
  +H +A   (34 ИЛИ 35)
  +H -A   (2 ИЛИ 3)
  -H   (0 ИЛИ 1 ИЛИ 32 ИЛИ 33 ИЛИ 128)
  -H +A   (32 или 33)
  -H -A   (0 ИЛИ 1 ИЛИ 128)
  +A   (32 ИЛИ 33 ИЛИ 34 ИЛИ 35)
  -A   (0 ИЛИ 1 ИЛИ 2 ИЛИ 3 ИЛИ 128)

Заметки:

  • Любой термин запроса может быть инвертирован, если ему предшествует - (минус).  Например, вы можете найти все, кроме скрытых файлов, доступных только для чтения, с -attributes:(3 OR 35) .
  • Естественно, даже если вы используете ключевое слово attributes для поиска скрытых файлов, вы не найдете ничего, если у вас не выбрано «Показать скрытые файлы, папки и диски» в «Параметры папки».
  • Логически, файлы без установленных атрибутов должны иметь значение attributes 0, но, похоже, это не так.  По моему опыту, они имеют значение attributes NORMAL (128).
  • Для поиска каталогов и / или файлов / каталогов, которые сжаты, зашифрованы, не проиндексированы или имеют установленный атрибут SYSTEM, добавьте соответствующую константу (ы) из первой таблицы к значениям в приведенной выше таблице.  Нет необходимости включать значения «128»; например, для -R -H +S -A должно быть достаточно для поиска 4 а не (4 OR 132) .
  • Помните, что для папок, которые «настроены» (например, с нестандартным значком), установлен атрибут READONLY.  (Настройки хранятся в скрытом системном файле desktop.ini .)
  • Вам не нужно использовать ключевое слово attributes для поиска только каталогов (т.е. исключая файлы), если вас не интересуют другие атрибуты; просто используйте type:folder .  Аналогично, -type:folder ищет только файлы (исключая каталоги).  Не путайте это с kind:folder , которая найдет настоящие папки файловой системы, а также файлы коллекции, такие как *.CAB и *.ZIP
  • Кроме того, вы можете искать зашифрованные файлы и каталоги с помощью параметра encryptionstatus:encrypted или is:encrypted .  Обратное значение может быть указано как -encryptionstatus:encrypted , -is:encrypted или encryptionstatus:unencrypted .
  • Естественно, даже если вы используете attributes ключевое слово для поиска системных файлов, вы не нашли , если вы не «Скрывать защищенные системные файлы» De выбранные в «Свойства папки».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .