中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 12:50
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 难题 如何用批处理删除7天前的记录!
可打印版本  1,131 / 3
第1楼 lanlinlan 发表于 2006-11-19 05:42
初级用户 发帖 29 积分 76
难题 如何用批处理删除7天前的记录!
公司有个软件每天会自动生成历史文件 如18号生成如下两个文件 D:\kingreat\Histdata\20061118detail.dbf
D:\kingreat\Histdata\20061118sum.dbf

现在就上想要在每天的10点钟自动删除7天以前的记录,不知道有没有办法用批处理实现?我以前也找过类似的例子 好象没有用哦 不知道有没有哪位高手知道怎么写?系统是98 如果可能的话能不能在写个XP的 ?好象XP和2000等不一样!

[ Last edited by lanlinlan on 2006-11-18 at 04:44 PM ]
第2楼 vkill 发表于 2006-11-19 06:52
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
xp下,根据你%date%格式修改下,我%date%是 2006-11-18 星期六

set /a "d_=%date:~0,4%%date:~5,2%%date:~8,2%-7"

for /f "tokens=*" %%? in ('dir /a-d/b D:\kingreat\Histdata') do (
set "n_=%%~n?"
set "nx=%n_:~0,8%"
if %nx% lss %d_% del /f/q "%%?"
)

未测试

[ Last edited by vkill on 2006-11-19 at 06:53 AM ]
第3楼 jinstar211 发表于 2006-11-19 10:23
新手上路 发帖 7 积分 14
不懂,学习中~~~
第4楼 aspirer 发表于 2006-11-27 22:01
初级用户 发帖 35 积分 72
windows 2003 下面有个DOS小工具 叫forfiles.exe,很好用。(网上去下载一个,或者03系统光盘里去找)
你配合一下系统的计划任务,加上这个批处理:
[code]forfiles /p D:\kingreat\Histdata\ /D -7 /c "CMD /C DEL @file"[/code]
就可以搞定删除七天前的文件了。
(注,七天前指的是修改时间,不是生成时间)
记得CCF的hitme写过一个脚本,不过我没有成功过。

[[i] Last edited by aspirer on 2006-11-27 at 09:03 AM [/i]]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023