【问题标题】:How to delete entire folder + contents in a for loop?如何在for循环中删除整个文件夹+内容?
【发布时间】:2018-01-01 04:24:24
【问题描述】:

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

到目前为止,我已经得到了这个

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

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

【问题讨论】:

  • 确切的输出是什么?

标签: windows batch-file cmd


【解决方案1】:

使用FOR /R,您将只列出文件。要递归地列出/遍历目录,您需要FOR /D /R(请注意开关的顺序必须相同)。此外,要正确列出您强制需要的文件夹,至少需要一个通配符(*? ):

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

【讨论】:

    猜你喜欢
    • 2011-06-24
    • 2021-12-10
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2022-01-23
    相关资源
    最近更新 更多