2013-07-14 130 views
2

蝙蝠上市的子文件夹的特定文件夹删除子文件夹蝙蝠删除在文本文件中

在Windows XP中我有一个包含有姓名games1games2games3 100个文件夹的文件夹名称gaming的具体LIS ... games100

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

而且我有一个名称列表中的50000个文件夹,我想删除名单的
例子,我想不知道它们的父目录的名称以去除

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

回答

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" 

查看输出和rd,如果之前删除的字echo看上去不错。

+0

+1这就是我要这样做的方式! ;-)这是最快的方式来比较每个文件名与长名单列表... – Aacini

+1

ty为答案,我复制代码在一个bat文件内,我运行它,但它没有工作,我想提到我需要删除50000文件夹,而不是文件 – BerrKamal

+0

代码更改为文件夹。 – Endoro

1

这需要d:\folder\gaming文件夹中的list.txt,它会在同一文件夹中创建"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 
+0

ty你的答案,我找到了我的问题的解决方案 – BerrKamal