随笔 - 493  文章 - 0  评论 - 97  阅读 - 239万

vbs删除sFolder目录下,nDay之前的日志

'如文件名为:abc.txt, 则返回"abc"
Function GetFileTitle(sFileName)        '求文件的名称(不含扩展名)
    Dim pos
    pos = InStrRev(sFileName, ".")      '从字符串尾部向前搜索子串(".")
    if(pos = 0) Then                    '文件无扩展名
        GetFileTitle = sFileName
    else
        GetFileTitle = Left(sFileName, pos - 1)
    end if
End Function
 
'删除sFolder目录下,nDay之前的日志(如nDay为3,则只保留今天、昨天、前天的日志)
Function ClearLogs(sFolder, nDay)
    Dim sFileName, sExt, sTitle
    Dim fs, oFolder, oFiles
    set fs = CreateObject("Scripting.FileSystemObject")
    set oFolder = fs.GetFolder(sFolder)
    set oFiles = oFolder.Files
     
    for each file in oFiles
        sFileName = file.Name
        sExt = fs.GetExtensionName(file)    '获取文件扩展名
        if(LCase(sExt) = "log" And Len(sFileName) = 14) Then  '文件名格式如:2011-02-14.log
            sTitle = GetFileTitle(sFileName)
            sNow = Date()                   '获取当前日期
            sDiffDays = DateDiff("d", sTitle, sNow) '求时间差,以天为单位
            if sDiffDays >= nDay Then
                file.Delete                 '删除日志文件
            end if
        end if
    Next
    ClearLogs = True
End Function
 
Dim sFolder, sExt, message
sFolder = "F:\Programming\Applications\VBScript\GG"
 
Dim fs
set fs = CreateObject("Scripting.FileSystemObject")
 
ClearLogs sFolder, 6                        '不接受函数返回值时,ClearLogs后不能加()
posted on   清清飞扬  阅读(620)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
< 2011年2月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 1 2 3 4 5
6 7 8 9 10 11 12

点击右上角即可分享
微信分享提示