![我可以使用通配符来表示子目录而不是仅表示 Windows 命令提示符中的文件吗?](https://linux22.com/image/1237359/%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E9%80%9A%E9%85%8D%E7%AC%A6%E6%9D%A5%E8%A1%A8%E7%A4%BA%E5%AD%90%E7%9B%AE%E5%BD%95%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BB%85%E8%A1%A8%E7%A4%BA%20Windows%20%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E7%AC%A6%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%97%EF%BC%9F.png)
我知道我可以使用通配符来列出文件在一个目录中:
dir *.java
但是,有人知道是否也可以用通配符来表示子目录吗?
我想做类似的事情
dir classes/
*/
*.java
其中,它将列出 classes 目录下每个子目录中的所有 java 文件。
因此,如果有:
课程/cs1100/
课程/cs1200/
课程/cs1500/
它将列出其中的所有 java 文件。
请注意,我并不是专门将其用于“Dir”命令,而是用于另一个接受文件列表的命令行工具。但是,如果它适用于 Dir,那么它也应该适用于我的其他程序。
答案1
您可以使用dir /s *.java
。
从dir /?
/S 显示指定目录及其所有子目录中的文件。
您可能希望将它与/b
以下标志结合起来:
/B 使用裸格式(没有标题信息或摘要)。
否则,您将获得每个子文件夹的摘要和标题,而不仅仅是文件列表。
答案2
我会按照如下方式进行操作:
打开命令提示符,导航到 classes 目录,这样当前目录实际上位于 classes 中,然后输入以下命令:
dir /S *.java
/S 选项将告诉它递归所有子目录。这在 中肯定有效dir
。我无法说它将如何移植到您正在使用的其他工具中。