Bat删除子文件夹的特定lis
在windows xp中,我有一个文件夹名gaming
,其中包含名称为games1
,games2
,games3
... games100
的100个文件夹。
在每个文件夹中都有一个巨大的子文件夹列表,从1到100000 。
我想要删除的50000 文件夹的名单 我想要删除的名称列表示例,而不知道其父目录的名称
6383 6385 4850 6395 6396 6397 9865 6401 6408 1200 ... .. .
答案 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