2013-07-14 176 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