标题: 难题 如何用批处理删除7天前的记录!
[打印本页]
作者: lanlinlan
时间: 2006-11-19 05:42
标题: 难题 如何用批处理删除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 ]
作者: vkill
时间: 2006-11-19 06:52
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 ]
作者: jinstar211
时间: 2006-11-19 10:23
不懂,学习中~~~
作者: aspirer
时间: 2006-11-27 22:01
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]]