如何查看可用的 Windows 搜索过滤器?

Abe*_*bel 12 windows-explorer windows-search syntax

我经常想知道如何使用 Windows 搜索过滤器。在现有的文件是极其有限的,但它的潜在用途是相当大的。

当我输入内容时,我看到的唯一搜索过滤器是“修改日期”和“大小”。谷歌搜索向我展示了其他一些有时有效的选项。每次我尝试使用它时,我都在思考“我可以使用哪些搜索过滤器,每个过滤器支持哪些选项?”。任何人都知道在哪里可以找到一个广泛的列表或如何配置搜索来为我提供可能性的下拉列表?

为了找到一些东西,我总是回到命令提示符。我想我可以不这样做。

在此处输入图片说明

Kar*_*ran 7

您实际要查找的关键字/短语不是“搜索过滤器”,而是“高级查询语法”。

与往常一样,MSDN 是寻求进一步帮助和详细信息的地方:

顺便说一句,如果您需要一个更好的支持 RegEx 的搜索实用程序,请尝试AstroGrepEverything


G-M*_*ca' 5

要基于文件系统属性(例如,隐藏、系统、只读等)进行搜索,请使用直观明显但大部分未记录的attributes关键字。正如在 Windows 7 帮助论坛上的这个线程中所讨论的,用法是

属性: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
Run Code Online (Sandbox Code Playgroud)

(前面提到的 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
Run Code Online (Sandbox Code Playgroud)

但是这种语法很快就会变得笨拙。幸运的是,有一个缩写形式:

attributes:(1 OR 33)
Run Code Online (Sandbox Code Playgroud)

连词/析取关键字(ANDOR)必须大写;搜索过滤器(属性)的关键字,例如attributes(和filenamekindtypedatedatemodifiedsizeownerdatetakenauthortitle,等等)是不区分大小写的。顺便说一句,如果你喜欢额外的打字,你可以说system.fileattributes代替attributes

因此,这里的基础上,对所有可能的搜索数字查询码RHA属性。(+R代表所有只读文件,无论是HA状态; +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 OR 128)
  -R +H  (2 OR 34)
  -R +H +A  34
  -R +H -A  2
  -R -H  (0 OR 32 OR 128)
  -R -H +A  32
  -R -H -A  (0 OR 128)
  -R +A  (32 OR 34)
  -R -A  (0 OR 2 OR 128)
  +H  (2 OR 3 OR 34 OR 35)
  +H +A  (34 OR 35)
  +H -A  ( 2 OR 3)
  -H  (0 OR 1 OR 32 OR 33 OR 128)
  -H +A  (32 OR 33)
  -H -A  (0 OR 1 OR 128)
  +A  (32 OR 33 OR 34 OR 35)
  -A  (0 OR 1 OR 2 OR 3 OR 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:encryptedencryptionstatus:unencrypted
  • 当然,即使你使用attributes关键字来搜索系统文件,你不会找到任何除非你有“隐藏受保护的操作系统文件” 中“文件夹选项”中选择。


归档时间:

查看次数:

16956 次

最近记录:

10 年,7 月 前