Board logo

标题: 问:检测文件个数,删掉文件,保留自定义个数的文件 [打印本页]

作者: su2353     时间: 2008-3-19 10:31    标题: 问:检测文件个数,删掉文件,保留自定义个数的文件

20080319.log
20080320.log
.
.
.
20090101.log

是些按日期命名的日志文件

文件个数超过30个时,删掉前面的,只留最近30天的日志

[ Last edited by su2353 on 2008-3-19 at 10:34 AM ]
作者: pooronce     时间: 2008-3-19 11:09

for /f "tokens=1,2 delims=:" %i in ('dir /o-n /b ^| findstr /n .') do if %i gtr 30 del %j

作者: terse     时间: 2008-3-19 14:55
@echo off
for /f "skip=30 tokens=*" %%i in ('dir /b /a-d "2008*.log"^|sort/r') do if not "%%i"=="" echo "%%i"
pause
作者: dikex     时间: 2008-3-19 15:34
@echo off
for /f "delims=" %%i in ('dir /b /a-d /o-n 20*.log^|more +30') do del "%%i"
pause
作者: su2353     时间: 2008-3-19 15:55


  Quote:
Originally posted by dikex at 2008-3-19 15:34:
@echo off
for /f "delims=" %%i in ('dir /b /a-d /o-n 20*.log^|more +30') do del "%%i"
pause

谢谢你,这个批处理非常适合我,但是如果按文件建立时间来删应该会扩大它的适用范围,我的情况刚好是文件名与文件建立时间一样顺序