Windows批处理文件-显示所有子文件夹

3

我在使用Windows批处理文件时遇到了一些困难,希望只返回文件夹(忽略文件)。

这是我目前拥有的内容。目前它会返回文件和子文件夹。

for /r %%g in ("xx*") do echo %%g

另外,假设我只想返回以几个不同前缀开头的文件夹。

例如:我想要打印仅以w*,we*,cm*,cr*等前缀开头的文件夹,这些文件夹都在“work”文件夹内。我该怎么办?能否使用批处理文件实现此目的?

谢谢。


for /d %%d in (.) do echo %%d https://dev59.com/HknSa4cB1Zd3GeqPO4yB - acostil
2个回答

6

您可以使用带有修改器/a:ddir命令,它将只搜索目录。

FOR /f "tokens=*" %%i in ('DIR /a:d /b w*') DO (
    ECHO %%i
)

这将会找到所有以w*开头的子文件夹。

谢谢安德鲁,你知道是否有可能一次性搜索所有这些前缀吗? - TyC
我不知道有没有一种方法可以在没有更复杂的 IF 语句(例如列出所有内容,然后检查每个内容是否与模式匹配)的情况下同时搜索多个前缀。 - Andrew

3
这是安德鲁答案的修改版本,可以处理多个前缀:
dir /a:d /b w* we* cm* cr*

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接