使用批处理删除除一个以外的所有文件夹

Posted

技术标签:

【中文标题】使用批处理删除除一个以外的所有文件夹【英文标题】:delete all folder except one using batch 【发布时间】:2013-05-21 08:09:39 【问题描述】:

我在当前目录中有一个名为 Scripts 的文件夹,例如 C:\QTP\Script\。我不确定该脚本文件夹中的文件夹名称和数量。在每个未知文件夹名称中,我都有 Objective Evidences 文件夹。我想要一个删除未知文件夹中所有文件和文件夹的代码,但不删除客观证据文件夹中的所有文件和文件夹。 例如:

Scripts\Folder1\Objective Evidences(此文件夹1 也包含许多文件) Scripts\Folder2\Objective Evidences(这个文件夹2也包含很多文件) 我不确定脚本文件夹中有多少个文件夹,它们的名字是 wat。 我应该获取 Scripts 文件夹中存在的文件夹名称列表,并删除其中存在的所有文件和文件夹,Objective Evidences 文件夹除外。

请告诉我相同的批处理代码。

【问题讨论】:

【参考方案1】:
for /f "tokens=*" %%G in ('dir /b /s /a:d "C:\QTP\Script\*"') do (
   echo %%~fG | FIND "Objective Evidences" || rd /s /q "%%G"
)

试试这个...或者这个

pushd "C:\QTP\Script\"
for /D /R  %%a in (*) do echo "%%~fa" | find "Objective Evidences" || rd /s /q "%%a"
popd

【讨论】:

以上是关于使用批处理删除除一个以外的所有文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Bash[One Liner]-Remove实用程序:删除除Ext以外的所有文件

C#如何遍历指定目录以及指定目录下所有子文件夹,并获取除指定文件类型以外的所有文件的绝对路径?

Terraform - 删除除一个以外的所有资源

用于删除目录中除指定列表之外的所有文件夹的批处理文件

移动除一个以外的所有文件

从单元格中删除除数字以外的所有内容