如何在for循环中删除整个文件夹+内容?

问题描述 投票:1回答:1

我正在处理的脚本的一部分需要递归循环遍历所有子文件夹并删除所有匹配特定名称的目录,如'foo'

到目前为止我已经有了这个

FOR /r "topDir" %%G in (foo) DO (
    echo %%G
    rmdir /s /q %%G
)

它回显了我需要删除的所有文件夹的绝对路径, 但是我得到了一个系统找不到指定文件的错误?

windows batch-file cmd
1个回答
1
投票

FOR /R你只会列出文件。要递归地列出/迭代这些目录,你需要FOR /D /R(请注意,开关必须按相同的顺序排列)。还要列出你必须至少有一个通配符符号(*?)的文件夹:

FOR /d /r "topDir" %%G in (*foo*) DO (
    echo %%G
    rmdir /s /q "%%G"
)
© www.soinside.com 2019 - 2024. All rights reserved.