Windows等效于Unix find命令来搜索多种文件类型


71

虽然在Windows中安装了cygwin可以提供大部分的Unix命令,但我仍然想知道如何使用Windows“ find”命令在一个命令中搜索多种文件类型。
即: find . -name *.cpp -o -name *.h -o -name *.java

上面的命令给了我所有cpp,h和java的列表,使用Windows find等效的是什么?

Answers:


105

这将在当前工作目录和所有子目录中找到所有具有给定扩展名的文件:

dir *.cpp *.h *.java /b/s

有关使用的更多信息,请参见https://technet.microsoft.com/zh-cn/library/cc755121.aspxdir


这应该做的是在所有指定的文件中搜索一个示例“文本”。我不想这样做,我希望它列出文件扩展名为cpp,h或java的当前目录和子目录中的所有文件。
Soumen

3
也该命令不能在Windows7中以某种方式工作..也许我错了。我也发现treefind在Windows中更好的选择。
Soumen

1
@Soumen:然后不要说“ windows“ find”命令”,而是“相当于unix的“ find”命令的Windows”。无论如何,请使用更接近您想要的内容来更新我的答案。(如果我没记错的话,tree不允许您将结果限制为具有特定扩展名的文件。)
JAB

3
而且,如果您想模仿非常常见的find . -name \*.cpp | wc -l* nix命令惯用法,则可以使用dir *.cpp /b/s | find /c /v ""。有关详细信息,请参见Raymond Chen的帖子
ddevienne

1
如何缩小到子目录?find . -name "*Test.php" src
ioleo

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.