例如,我有两个文件:
Textfile1.txt
Textfile2.txt
第一个文件为空,第二个文件包含字符串file1
我可以在标准 Windows 资源管理器中创建仅匹配的搜索查询Textfile2.txt
吗?我的意思是file1
查询将匹配两个文件,首先是因为其名称包含此字符串,其次是因为它以此字符串作为其内容。
答案1
您只能使用content
关键字在内容中搜索,而不是文件名:
content:file1
答案2
其他高级查询语法 (AQS) 关键字包括:
类型:
扩展名:
文件夹:
属性:
另外,你可以对其中任何一个或全部使用否定运算符-
,因为它似乎不是其他地方在互联网上,我想在这里包含这个小花絮。
要搜索所有没有扩展名但排除特定文件夹的文件,只需在 Windows 资源管理器的地址栏中将以下内容输入到要搜索的目标文件夹中:
`type:-[] extension:[] kind:-folder -folder:"\.git\*" -folder:"\.git"`
我觉得这值得对这里发生的事情进行解释,以便您可以根据需要扩展/改变此搜索。
类型不是空(所有内容)。扩展名不是空(无扩展名)。类型不是文件夹(文件)。排除“.git”中的所有子文件夹/文件并排除“.git”文件夹/文件。我发现如果文件夹名称有除了只是字母数字字符,必须明确排除两次,一次针对所有子文件夹,一次针对文件夹本身,否则 Windows 仍会将该文件夹解释为文件并从中获取结果,因此我研究如何从搜索中排除'.git*'。;-)
另外,请注意,从搜索栏中排除其中一个不会排除该文件夹中的所有内容,也不会应用我下面概述的技巧(即-folder:"\.git*\*"
)。任何其他定期命名的纯字母数字文件夹都将被排除,例如-folder:"\java\*"
将排除 java 文件夹/文件和 java 内的所有文件/子文件夹。
我还发现引号内的其他通配符也能正常工作,例如-folder:"\Swift*\*"
排除 Swift-5.0.xx 文件夹(出于上述原因,我也必须添加两次这个文件夹)。这样,我对无扩展名文件的搜索范围就从 4,700 多个缩小到 5 个。我想也许有一天其他人会发现这个很有用。:-)