Answers:
执行此操作的一种方法(在Windows 7中)是使用-folder:
和来丢弃所有子文件夹\*
(例如,当在downloads文件夹中搜索.zip文件时):
*.zip -folder:"Downloads\*"
就这样。
*.zip -folder:".\*"
-folder:(name_of_subfolder)
将从搜索结果中排除“ name_of_subfolder”。
在Microsoft网站上,请参阅“ 高级查询语法”以获取更多选项(其中一些可能已过时),以及有关在Windows中使用较新语法(例如)进行搜索的“高级提示”System.Kind:<>picture
,但似乎不够完整。
System.FileName
还可以匹配目录名称,因此也许System.FileName<>name_of_subfolder
可以。另外,System.Kind可能允许System.Kind:<>folder
排除所有文件夹(或与System.FileName
特定文件夹结合使用时?)。似乎有人可能会在搜索中使用这一长列表。(但是:我没有使用Windows。)
* .zip文件夹:“ \ MyFolder”
必须从父文件夹运行该目录以搜索MyFolder,但不能搜索MyFolder的子文件夹或同级文件夹。似乎需要双引号和反斜杠。我在Windows 7上对此进行了测试,并且可以正常工作。我在这里找到了这个答案:answers.microsoft.com:如何不搜索子目录
虽然我发现另一个答案中的“排除文件夹”选项可行(谢谢),但如果要排除的子文件夹很多,则此选项可能会更容易。
C:\foo
,*.zip folder:"\foo"
在搜索框中输入。感谢您的信息和链接!
我在Windows 10计算机上,但是我怀疑情况是否已更改。如果我是对的,以上答案是错误的。
在搜索框中
如果您要使用:
common * source
...,则会显示所有文件和文件夹,其子字符串为“ common”,后跟子字符串“ source”:例如,commons-collections4-4.0-sources.jar
注意由于某些无法解释的(Micro $ oft)原因,即使您在“高级选项”中设置了不搜索文件内容的内容,如果您未在搜索字符串的前面加上“名称”,它仍将搜索文件内容:”或“文件名:”
如果您去:
名称:common * source
...什么都不会出现!
如果您去:
文件名:common * source
...这将显示所有文件和文件夹,其子字符串为“ common”,后跟子字符串“ source”:例如,commons-collections4-4.0-sources.jar
如果您转到:
filename:common
...,它将显示名称中带有“ common”的所有文件和文件夹。
如果您转到:
文件名:common -folder
...它将仅显示名称中带有“ common”的文件(没有文件夹)
注意“名称”和“文件名”之间的区别。我怀疑在第一种情况下,它正在使用隐藏在某处的文件的“属性”,并且大多数时候您将要搜索“文件名”。
还要注意,通配符*的使用要求先于通配符的部分位于先于通配符的部分之后(当然)。如果您希望这些子字符串以任何顺序出现在文件名中,则有些棘手。您必须执行以下操作:
文件名:“ * test *”和“ * co *”-文件夹
...等效于:
文件名:“ * co *”和“ * test *”-文件夹
或实际上是这样的:
文件名:“ * test *” +“ * co *”-文件夹
在Windows 10中,您可以在功能区工具栏中选择当前文件夹