以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  只保留最近一个月的数据备份,之前的自动删除?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=148209)

--  作者:fengwenliuyan
--  发布时间:2020/4/2 13:27:00
--  只保留最近一个月的数据备份,之前的自动删除?
已知,自动备份数据到指定文件夹中:
FileSys.CopyFile("D:\\项目\\数据源.MDB", "D:\\项目\\备份" & "_" & Date.Now().Tostring().Replace("-","").Replace(" ","").Replace(":","") &".mdb")

但是,现在发现,这个文件夹经常会出现磁盘不足的情况,
现求,如何在这个指定的文件夹D:\\项目\\中,只保留最近一个月的数据备份,之前的自动删除?

--  作者:有点蓝
--  发布时间:2020/4/2 14:13:00
--  
获取所有文件:http://www.foxtable.com/webhelp/topics/0341.htm
获取每个文件的创建时间:http://www.foxtable.com/webhelp/topics/2707.htm
如果时间早于一个月的就删除。

简单一点的,手工删除比较早的文件,只保留30个。以后代码备份后,代码按命令里的文件名名称排序删除最早的一个

--  作者:fengwenliuyan
--  发布时间:2020/4/2 14:51:00
--  回复:(有点蓝)获取所有文件:http://www.foxtable....
For Each File As String In FileSys.GetFiles("D:\\项目\\cs005\\")
    Dim finfo As new FileInfo(file)
    If finfo.LastWriteTime < Date.Today.AddDays(-5) Then
        FileSys.DeleteFile("finfo",3,3)
    End If
Next


是这样子写吗?
[此贴子已经被作者于2020/4/2 15:46:35编辑过]

--  作者:fengwenliuyan
--  发布时间:2020/4/2 15:47:00
--  
实际上,前五天的文件没删掉?
--  作者:fengwenliuyan
--  发布时间:2020/4/2 15:53:00
--  
已经好了
    For Each File As String In FileSys.GetFiles("D:\\项目\\cs005\\")
        Dim finfo As new FileInfo(file)
        If finfo.LastWriteTime < Date.Today.AddDays(-5) Then
            FileSys.DeleteFile(file)
        End If
    Next