Office中国论坛/Access中国论坛

标题: 如何删除指定时间外的备份文件 [打印本页]

作者: 简    时间: 2012-2-18 21:13
标题: 如何删除指定时间外的备份文件
我设计的数据库是每天第一次运行时自动备份,久而久之就越来越多,我就想像IE里指定历史记录的保存天数那样,指定备份文件的保存天数,比如7天,然后在每周一第一次运行数据库时将超过7天的备份文件自动删除。

请问这种效果能实现吗,如果能实现,可以给个例子吗?在此先谢了。

[attach]48382[/attach]
作者: Grant    时间: 2012-2-19 09:36
如果是这样的话,可以考虑用windows 计划任务来实现功能
作者: roych    时间: 2012-2-19 16:24
如果备份时按日期来命名的话,其实删除也是很方便的,以下代码供参考:
  1. Sub test()
  2. '需引用Microsoft Scripting Runtime
  3. Dim fso As New FileSystemObject, fl As File
  4. '备份
  5. FileCopy CurrentProject.Path & "\Test.mdb", CurrentProject.Path & "\Backup" & Format(Date, "YYYY-MM-DD") & ".mdb"
  6. '加上这句是以防执行删除本文件而出错。
  7. On Error Resume Next
  8. '如果七天以外生成的或者七天以外没更改过的备份文件都强制删除。
  9. For Each fl In fso.GetFolder(CurrentProject.Path).Files
  10.     If fl.Name Like "Backup" & "*.mdb" And (fl.DateCreated <= Date - 7 Or fl.DateLastModified <= Date - 7) Then
  11.         fl.Delete True
  12.     End If
  13. Next
  14. End Sub
复制代码
此外,如果做成Bat批处理文件,然后调用Shell来执行也是可行的。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3