Для поиска по атрибутам файловой системы (например, скрытый, системный, только для чтения и т.д.) Используйте ключевое слово 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
) должны быть написаны заглавными буквами; В ключевых словах фильтра поиска (свойства), таких как attributes
(и filename
, 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 выбранные в «Свойства папки».