设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 807|回复: 2
打印 上一主题 下一主题

[窗体] 如何删除指定时间外的备份文件

[复制链接]
跳转到指定楼层
1#
发表于 2012-2-18 21:13:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我设计的数据库是每天第一次运行时自动备份,久而久之就越来越多,我就想像IE里指定历史记录的保存天数那样,指定备份文件的保存天数,比如7天,然后在每周一第一次运行数据库时将超过7天的备份文件自动删除。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-2-19 09:36:04 | 只看该作者
如果是这样的话,可以考虑用windows 计划任务来实现功能
3#
发表于 2012-2-19 16:24:53 | 只看该作者
如果备份时按日期来命名的话,其实删除也是很方便的,以下代码供参考:
  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来执行也是可行的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-24 07:20 , Processed in 0.098701 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表