Windows保留指定个数文件,删除老旧文件
目的
使指定目录内仅保留最近修改的20个文件,其余删除
代码块
@
echo off & setlocal enabledelayedexpansion
set workPath=F:\test
set n=
0
for /f
"delims=" %%i
in (
'dir /b /s /o-d "%workPath%"')
do (
echo %%i
set /a n+=
1
echo !n!
if !n! GTR
20 (
del /f /a
"%%i"
)
)
pause
原理
将目录内文件按最后修改时间倒序,逐一读取并计数。前二十个文件不执行任何操作,计数超过20个就执行删除命令。
注释
setlocal enabledelayedexpansion必须加,否则无法正常计数
GTR 大于; EQU 等于; NEQ 不等于; LSS 小于; LEQ 小于等于; GTR 大于; GEQ 大于等于;
转载请注明原文地址: https://ju.6miu.com/read-9511.html