2

蝙蝠删除子文件夹的特定列表

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

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

我有一个50000个文件夹的名称列表,我想删除我想删除 的名称列表示例,但不知道其父目录的名称

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

2 回答 2

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如果它看起来不错。

于 2013-07-14T13:40:00.013 回答
1

这需要文件夹list.txt中的a 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
于 2013-07-15T09:58:37.740 回答