![]() |
中国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 |