蝙蝠删除文本文件中列出的子文件夹中的特定文件夹

时间:2013-07-14 13:04:08

标签: windows batch-file cmd directory

Bat删除子文件夹的特定lis

在windows xp中,我有一个文件夹名gaming,其中包含名称为games1games2games3 ... games100的100个文件夹。

在每个文件夹中都有一个巨大的子文件夹列表,从1到100000

我想要删除的50000 文件夹名单 我想要删除的名称列表示例,而不知道其父目录的名称

6383  
6385  
4850  
6395  
6396  
6397  
9865  
6401  
6408  
1200  
...  
..  
.  

2 个答案:

答案 0 :(得分:6)

试试这个:

@echo OFF &SETLOCAL
SET "namelist=list.txt"

for /f "usebackq delims=" %%a in ("%namelist%") do set "$%%a=1"
for /d /r "gaming" %%a in (*) DO IF DEFINED $%%~na ECHO rd /s /q "%%~a"

查看输出并在echo之前删除单词rd,如果它看起来不错。

答案 1 :(得分:1)

这需要list.txt文件夹中的d:\folder\gaming,并且会在同一文件夹中创建"removefolders.bat.txt"

在记事本中打开该文件并验证是否列出了正确的文件夹,然后您可以将其重命名为.bat并运行它以实际删除文件夹。

@echo OFF
pushd "d:\folder\gaming"
del "removefolders.bat.txt" 2>nul
for /f "delims=" %%a in ('type "list.txt" ') do (
for /d /r %%b in (*) do if "%%~nxb"=="%%a" >>"removefolders.bat.txt" echo rd /q /s "%%b"
)
popd