在Windows搜索中排除某些文件扩展名


1

我正在尝试搜索某些文件扩展名.pro。我已经在搜索栏中尝试了以下搜索:type:.pro*.pro,但是,这两个查询都生成扩展名为.properties和的文件.project。我不希望这些出现在我的结果中。如何排除这些?


如果您使用cmddir *.pro /s则可以找到所需的结果,尽管可能不是您想要的格式。
AFH

@AFH此搜索仍会生成.properties,.providers和.project文件。
tuskiomi

抱歉,您是对的,我才意识到为什么:Windows仍然坚持为长文件名(包括扩展名长的文件名)提供8.3名称。不幸的是,所有名称按摩都是在8个字符的部分中完成的,而3个字符的扩展名是long扩展名的前3个字符。它的dir长短文件名都匹配,因此可以得到结果。您可以禁用8.3名称,也可以使用它findstr来过滤结果(正如我现在所见,David Postill在其答案中建议的那样)。
AFH


@LưuVĩnhPhúc-您的链接说明了该机制,但没有说明其原因,尤其是在Windows 10似乎不支持16位程序的情况下。还有另一种解决方案:TCC / LE是的替代品cmd,它被扩展为具有接近Unix的脚本功能,但是或多或少地保持了cmd与现有脚本的兼容性。默认情况下,它的dir命令与8.3名称匹配,尽管有一个选项可以允许。TCC / LE免费提供给非商业用途,是功能更强大的TCC的简化版本。
AFH

Answers:


2

我正在尝试搜索特定的文件扩展名, .pro

我已经在搜索栏中尝试了以下搜索:type:.pro和* .pro,但是,这两个查询都生成扩展名为.properties和.project的文件。

即使使用高级查询语法,也无法使用Windows资源管理器搜索栏来实现。

但是,可以cmd使用以下命令在Shell中实现:

dir /b /s | findstr /e /l /c:".pro"

例:

> dir /b /s *.pro
F:\test\.pro
F:\test\test.pro
F:\test\test.profile
F:\test\test.properties
F:\test\test.project

> dir /b /s | findstr /e /l /c:".pro"
F:\test\.pro
F:\test\test.pro

进一步阅读

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.