首页 > 技术文章 > 删除旧文件的批处理程序

dayang12525 2020-08-26 13:57 原文

逻辑:

切换到操作的目录,如果文件夹里的文件数量小于3,则不做操作,

否则,按照创建时间倒序排列,遍历,跳过前3个文件,对于之后的文件执行删除操作。

@echo off

cd D:\Task\testbat

set cnt=0
for %%A in (*) do set /a cnt+=1
echo 文件数量是: %cnt% 

:: 数量小于3则退出命令
if %cnt% LSS 3 (
echo 数量小于3退出命令
exit
)

setlocal enabledelayedexpansion
set fileorder=0
for /f "tokens=1-3*" %%a in ('dir /a-d /tc/o-d ^|find ":"') do ( 
echo;%cd%\%%d ^| %%a %%b ^| %%d
set /a fileorder+=1
if  !fileorder! GTR 4 del %cd%\%%d
)
echo 删除操作完成
exit

 

推荐阅读