Windows递归删除文件夹和所有内容

时间:2012-10-22 15:42:45

标签: batch-file

我正在尝试找到一种方法来删除特定文件夹名称并删除Windows中的所有内容。所以我的D:驱动器有100个文件夹,每个文件夹里面都有名为folder1,folder2,folder3等的子文件夹。我希望能够在D的根目录下运行命令:将搜索每100个文件夹和删除说的folder3,以及folder9及其所有内容。

RD /s /q "folder1" 

以上命令不喜欢搜索子目录。

无论如何使用CMD或者我需要.vbs脚本还是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用FOR命令浏览给定位置的子文件夹列表,并在每个子文件夹上运行命令。 e.g:

for /F "delims=\" %%I in ('dir /ad /b <someFolder>') DO (
    cd "<someFolder>\%%I"
    rd /S /Q "folder1"
    rd /S /Q "folder3"
)

它将获取 someFolder 中的文件夹列表,并从每个子文件夹中删除名为“folder1”和“folder3”的目录。

答案 1 :(得分:0)

根据OP的评论,我相信以下内容可以解决问题:

@echo off
for /f "delims=" %%F in (
  'dir /b /s /ad "d:\My files"^|findstr /ie /c:"\folder1" /c:"\folder9"'
) do if exist "%%F" rd /s /q "%%F"