【问题标题】:Windows equivalent for Unix find command to search multiple file types用于搜索多种文件类型的 Unix find 命令的 Windows 等效项
【发布时间】:2011-06-08 20:56:16
【问题描述】:

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

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

【问题讨论】:

    标签: windows unix command-line find ls


    【解决方案1】:

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

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

    有关使用dir 的更多信息,请参阅https://technet.microsoft.com/en-us/library/cc755121.aspx

    【讨论】:

    • 这应该做的是在所有指定的文件中搜索示例“文本”。我不想这样做,我希望它列出当前和子目录中的所有文件,文件扩展名为 cpp、h 或 java。
    • 这个命令在windows7中也不起作用..或者我错了。我还发现tree 可能比 Windows 中的find 更好。
    • @Soumen:那就不要说'windows "find" command',而是'windows 等价于unix 的"find" command'。无论如何,用应该更接近你想要的东西更新我的答案。 (如果我没记错的话,tree 不允许您将结果限制为具有特定扩展名的文件。)
    • 如果你想模仿非常常见的find . -name \*.cpp | wc -l *nix 命令习语,你可以使用dir *.cpp /b/s | find /c /v ""。详情请见Raymond Chen's post
    • 如何缩小到子目录? find . -name "*Test.php" src
    【解决方案2】:

    findstr /p /s /i .

    上面的命令在当前目录和子目录中搜索给定的文本。 /n 也会打印行号。

    【讨论】:

    • 这类似于grep,而不是find
    猜你喜欢
    • 1970-01-01
    • 2020-08-18
    • 2010-09-16
    • 2011-03-25
    • 2014-10-15
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多