【问题标题】:Windows batch file to delete folders/subfolders using wildcards使用通配符删除文件夹/子文件夹的 Windows 批处理文件
【发布时间】:2011-02-19 02:08:32
【问题描述】:

我需要删除“tomin”文件夹中的所有文件夹,该文件夹的名称包含以“.delme”字符串结尾。 删除需要递归完成:我的意思是在所有目录和 SUB 目录上。

我想这样做:

FOR /R tomin %%X IN (*.delme) DO (RD /S /Q "%%X")

但它不起作用,我认为 /R 会忽略通配符。

在问这个问题之前,我也在 SO 中搜索并找到了 this: 但答案并没有帮助我解决我的问题,按照我尝试过的建议:

FOR /F tomin "delims=" %%X IN ('dir /b /ad *.delme') DO RD /S /Q "%%X"

但它也不起作用。

【问题讨论】:

  • 能否请您发布您的完整代码以删除文件。我对批处理文件完全陌生。我想删除所有名为“.sass-cache”的文件夹及其所有子文件夹中的所有内容。
  • @SaurabhBayani: FOR /D /R yourfolder %%X IN .sass-cache DO RD /S /Q "%%X" 删除在yourfolder 中找到并命名为.sass-cache 的所有文件和文件夹

标签: batch-file directory


【解决方案1】:

您的第一个命令可以运行,但您忘记了 /D 来指定您想要的目录。

FOR /D /R tomin %%X IN (*.delme) DO RD /S /Q "%%X"

应该做的伎俩。

【讨论】: