我有12468个文件,我只需要每60个文件。
我如何(希望批处理文件)删除59个文件,跳过一个文件,删除59个文件,删除一个文件或其他方式来有效地执行此操作。
文件示例:sequence_00001.jpg,sequence_00002.jpg,---- sequence 12468.jpg等......
答案 0 :(得分:1)
此批处理代码删除59个文件并保留第60个文件,依此类推。文件以for
命令(与普通@echo off
setlocal EnableDelayedExpansion
set i=0
for %%a in (*.jpg) do (
set /A "i=(i+1)%%60"
if !i! neq 0 del "%%a"
)
命令的顺序相同)的顺序处理,与文件名格式无关:
sequence_00001.jpg
此批处理代码处理具有以下格式的文件:sequence_00002.jpg
,@echo off
setlocal EnableDelayedExpansion
for /F "tokens=1,2* delims=_." %%a in ('dir /A-D /B sequence_*.jpg') do (
set /A "i=(1%%b-100000)%%60"
if !i! neq 0 del "%%a_%%b.%%c"
)
等,并保留最后5位数部分为60的倍数的文件;删除其余部分:
{{1}}