循环遍历树并删除变量中列出的文件和目录(Windows批处理)

时间:2018-01-23 18:21:22

标签: batch-file

我有变量:

set "whattodelete=*xxx* *yyy* *zzz*"

和以下目录树:

C:\Temp
  Folder1    Folder2    Folder3
    1aaa1      2aaa2      ...
    1bbb1      2bbb2
    1ccc1      2ccc2
    1xxx1      2xxx2
    1yyy1      2yyy2
    1zzz1      2zzz2

其中1aaa1可能是目录或文件。

我读过这个: Command line tool to delete folder with a specified name recursively in Windows?

但无法弄清楚如何为包含许多文件/目录的变量添加循环。我怀疑这可能是一个更多的内部或外部循环,但我不是那么接近变量扩展。你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

这对我有用:

@echo off
setlocal EnableDelayedExpansion EnableExtensions 
set "whattodelete=*xxx* *yyy* *zzz*"
cd C:\Temp
for /f "usebackq tokens=*" %%i in (`dir /b /s /a:d %whattodelete%`) do (
  rd /s /q "%%i"
  )