目录下有文件
2011-08-1.sql
2011-08-2.sql
2011-08-3.sql
2011-08-4.sql
2011-08-5.sql
2011-08-6.sql如果判断当目录下文件超过5个时自动删除最早的一个,文件名都是以日期创建的,怎么利用这个

解决方案 »

  1.   

    示例:Dim fnName As String, mainfName As String, oldDoc As String
    Dim fnCount As IntegerfnName = Dir(App.Path & "\*.sql")   ' 找寻第一项。
    oldDoc = Left(fnName, Len(fnName) - 4)
    If oldDoc = "" Then Exit Sub
    fnCount = 0
    Do While fnName <> ""   ' 开始循环。
       fnCount = fnCount + 1
       mainfName = Left(fnName, Len(fnName) - 4)   '比较日期
       oldDoc = IIf(CDate(mainfName) > CDate(oldDoc), oldDoc, mainfName)
       fnName = Dir   ' 查找下一个文件。
    LoopIf fnCount >= 5 Then
        '删除文件
        Kill App.Path & "\" & oldDoc & ".sql"
        MsgBox "已删除" & App.Path & "\" & oldDoc & ".sql"
    End If