中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 20:04
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 问:检测文件个数,删掉文件,保留自定义个数的文件
可打印版本  749 / 4
第1楼 su2353 发表于 2008-03-19 10:31
初级用户 发帖 63 积分 152
问:检测文件个数,删掉文件,保留自定义个数的文件
20080319.log
20080320.log
.
.
.
20090101.log

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

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

[ Last edited by su2353 on 2008-3-19 at 10:34 AM ]
第2楼 pooronce 发表于 2008-03-19 11:09
中级用户 发帖 250 积分 484
第3楼 terse 发表于 2008-03-19 14:55
银牌会员 发帖 946 积分 2,404
@echo off
for /f "skip=30 tokens=*" %%i in ('dir /b /a-d "2008*.log"^|sort/r') do if not "%%i"=="" echo "%%i"
pause
第4楼 dikex 发表于 2008-03-19 15:34
高级用户 发帖 366 积分 788
@echo off
for /f "delims=" %%i in ('dir /b /a-d /o-n 20*.log^|more +30') do del "%%i"
pause
第5楼 su2353 发表于 2008-03-19 15:55
初级用户 发帖 63 积分 152
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


谢谢你,这个批处理非常适合我,但是如果按文件建立时间来删应该会扩大它的适用范围,我的情况刚好是文件名与文件建立时间一样顺序
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023