如何从带有 bat 文件的目录中删除多个特定文件夹?

How can i delete multiple specific folders from a directory with a bat file?

有点像上一个问题的延续,但我有 570 个文件夹,其中一些文件夹包含另一个名为“autosaves”的文件夹,我想创建一个 bat 文件来找到并删除它们(自动保存文件夹,而不是包含自动保存文件夹的实际文件夹),但经过反复试验无济于事,我想我会回到这里,因为我上次取得了很好的成绩。

所以基本上。

 MainFolder
 ---ExampleFolder1   (does not contain an autosaves folder)
 ---ExampleFolder2   (contains an autosaves folder)
 ---ExampleFolder3   (contains an autosaves folder)
 ---ExampleFolder4   (does not contain an autosaves folder)

我需要这个变成:

 MainFolder
 ---ExampleFolder1   (does not contain an autosaves folder)
 ---ExampleFolder2   (does not contain an autosaves folder)
 ---ExampleFolder3   (does not contain an autosaves folder)
 ---ExampleFolder4   (does not contain an autosaves folder)

所以如果有人知道那就太好了:)

FOR /f "delims=" %%b IN ('dir /s /b /ad "u:\your files" ^|sort /r') DO IF /i "%%~nxb"=="autosave" ECHO RD /s /q "%%b"

其中 u:\your files 被您的目录替换。

完整查找所有目录名称,将它们倒序排列,如果叶名为 autosave,则将其删除。

rd 命令仅 echo 用于测试目的。验证后,删除 echo 关键字以激活。

列表按相反顺序排序,因此包含其他目录的任何 autosave 目录都在这些子目录之后处理,因此代码不应尝试删除 already-deleted 目录的子目录。

NB 此代码将删除树中所有名为 autosave 的子目录,因此子目录 example\something\anotherthing\autosave\somethingelse 将在 anotherthing[ 之后删除=20=]