我需要一个批处理脚本,可以删除目录中的所有文件夹,排除某些文件夹

时间:2013-01-09 02:36:40

标签: windows batch-file

我需要一个仅删除某些文件夹的脚本。说一个目录包含文件夹“编程,图片,电影,废话”,让我们说我只想保留“编程”和“废话”文件夹,就像添加它们作为例外。

我不想做的是指定要删除的文件夹,如:

set trashFolder=%userprofile%\Desktop\Test\M…
set trashFolder2=%userprofile%\Desktop\Test\…

rmdir /Q %trashFolder%
rmdir /Q %trashFolder2% <----i dont want this.

让我说我知道要保留哪些文件夹,我不知道该文件夹中的内容,所以我创建了一个脚本,指定要保留哪些文件夹并删除该目录中的其余文件/文件夹。 27分钟前 - 还剩4天回答。

我非常想要一个文件夹的白名单,我想保持不知道该目录中还有什么。当然还要删除除白名单文件夹之外的所有其他内容。

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。这是一个简单的方法。

for /d %%F in (*) do if /i "%%F" neq "Programming" if /i "%%F" neq "Crap" rd /q /s "%%F"

如果你有一个文件夹列表保存在名为“keep.txt”的白名单文件中,每行一个文件夹,那么你可以这样做:

for /f "eol=: delims=" %%F in ('dir /b /ad^|findstr /vxilg:"keep.txt"') do rd /q /s "%%F"