首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

一个备份程序有关问题

2012-03-11 
一个备份程序问题每隔固定一段时间就将某个文件复制到d:\test目录备份文件名字与备份时的时间对应,只保留6

一个备份程序问题
每隔固定一段时间就将某个文件复制到d:\test目录   备份文件名字与备份时的时间对应,只保留6个备份,下面是代码  
              Dim   dir   As   New   System.IO.DirectoryInfo( "d:\test ")
                Dim   fil   As   System.IO.FileInfo()   =   dir.GetFiles()
                If   fil.Length   > =   6   Then           '保留6个备份文件
                        Static   c   As   Integer   =   fil.Length
                        For   g   As   Integer   =   1   To   (c   -   6   +   1)
                                Dim   i   As   System.IO.FileInfo
                                Dim   k   As   Long   =   Long.MaxValue   '备份文件的名称跟备份时的时间对应,如200710121521
                                For   Each   i   In   fil
                                        If   CLng(i.Name)   <   k   Then
                                                k   =   CLng(i.Name)
                                        End   If
                                Next
                                System.IO.File.Delete( "d:\test "   &   "\ "   &   k)
                        Next
                End   If
如果备份目录里的文件数目小于6是没有问题的,备份超过6就会自动删除。如果备份时候就超过了6比如8,删除的时候只能删除一个,我设置的循环没用。
原来如果有8个文件的话,删除一个后,fil变量还是认为目录里有8个文件,因此for   next循环在每次循环的时候删除的都是同一个文件名的文件。
我知道原因,但是不知道该怎么解决。谁帮忙看看啊,最好给出详细点的代码。

[解决办法]

热点排行