蝙蝠删除子文件夹的特定列表
在 windows xp 中,我有一个文件夹名称gaming,其中包含 100 个名称为games1, games2, games3...的文件夹games100。
在每个文件夹中都有一个从 1 到 100000 的巨大子文件夹列表。
我有一个50000个文件夹的名称列表,我想删除我想删除
的名称列表示例,但不知道其父目录的名称
6383 6385 4850 6395 6396 6397 9865 6401 6408 1200 ... .. .
蝙蝠删除子文件夹的特定列表
在 windows xp 中,我有一个文件夹名称gaming,其中包含 100 个名称为games1, games2, games3...的文件夹games100。
在每个文件夹中都有一个从 1 到 100000 的巨大子文件夹列表。
我有一个50000个文件夹的名称列表,我想删除我想删除
的名称列表示例,但不知道其父目录的名称
6383 6385 4850 6395 6396 6397 9865 6401 6408 1200 ... .. .
尝试这个:
@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如果它看起来不错。
这需要文件夹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