繁体   English   中英

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

[英]I need a batch script that can delete all folders inside a directory, EXCLUDING certain folders

我需要一个仅删除某些文件夹的脚本。 假设一个目录包含“ Programming,Picture,Movie,Crap”文件夹,可以说我只想保留“ Programming”和“ Crap”文件夹,就像添加它们作为排除对象一样。

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

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

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

可以说我知道要保留的文件夹,但不知道该文件夹中的内容,因此我编写了一个脚本,指定要保留的文件夹并删除该目录中的其余文件/文件夹。 27分钟前-还剩4天可以回答。

我非常想像一个白名单文件夹,我不想让自己不知道该目录中还有什么。 并且当然删除除该白名单文件夹以外的所有其他内容。

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

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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM