当前位置 博文首页 > vbs 定时删除功能实现代码

    vbs 定时删除功能实现代码

    作者:admin 时间:2021-02-04 21:06

    参考代码一:

    复制代码 代码如下:

    Function DeleteLog( )
        Dim objFSO, objFolder, strPath, targetFSO, subFSO, DirPath  
        DirPath = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path&"\Log\"
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set targetFSO =  objFSO.GetFolder(DirPath)
        Set subFSO = targetFSO.SubFolders

        For Each subFolder in SubFSO
    If DateDiff("d", subFolder.name, date)>3 Then
        strPath = DirPath&subFolder.name
        objFSO.DeleteFolder(strPath)
        End If
        Next
    End Function
    Call DeleteLog( )
    这样在task Schdeuler里面schedule我的vbs程序就没有报错啦。撒花,结贴~~

    参考代码二:

    复制代码 代码如下:

    Dim dqxs, dqrq, szxs, szfz, dqml, datp
    Dim jclb
    Dim c
    dim d
    '=========================================================
    datp = "F:"
    szxs = "7:00:"
    wjml = datp & "\DVRDat\"
    sykj = 20000000000 '20个G
    dqml = left(wscript.scriptfullname,instrrev(wscript.scriptfullname,"\")-1)
    jclb = "ServicesManager.exe,PD_Server.exe,SpeedServer.exe,CoreServer.exe,DownloadSVC.exe,ManagerConsole.exe,Gptsvr.exe,HintAMProxy.exe,FileServer.exe,CleanDisk.exe,GetNetData.exe,SGUClient.exe,SGUServer.exe,"
    set WshShell = WScript.CreateObject("WScript.Shell")
    Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
    '=========================================================
    if fso.GetDrive(datp).FreeSpace < sykj then call cprlql
    do
        If InStr(time, szxs) <> 0 Then
            if fso.GetDrive(datp).FreeSpace < sykj then call cprlql
        end if
        WScript.Sleep(60*1000)
    loop

    getfso=fso.GetFolder("c:\\windows").DateCreated
    '===========================================================
    Function cprlql
        Dim strline, scml
        WshShell.run "cmd /c dir " & wjml &" /ad /b /tc>c:\dir.log",0
        if fso.FileExists("c:\dir.log") then
            Set objFile = fso.OpenTextFile("c:\dir.log")                
            do until objFile.atendofstream
                strline = objFile.readline
                scml = wjml & strline
                WshShell.run "cmd /c rd /s /q " & scml,0
                for i = 1 to 20
                    if fso.GetDrive(datp).FreeSpace > sykj then exit Function
                    if fso.FolderExists(scml) then
                        WScript.Sleep(1000)
                    else
                        exit for
                    end if
                next
                if fso.GetDrive(datp).FreeSpace > sykj then exit Function
            loop
        end if
    End Function

    js
    下一篇:没有了