vbs 定时删除功能实现代码

所属分类: 脚本专栏 / vbs 阅读数: 1088
收藏 0 赞 0 分享

参考代码一:

复制代码 代码如下:

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

更多精彩内容其他人还在看

vbscript禁用 启用fso的方法

启用:regsvr32 scrrun.dll 禁用:regsvr32 /u scrrun.dll
收藏 0 赞 0 分享

getSQLinfo.vbs 获得SQL数据/日志空间使用情况的脚本

这个脚本可以获取SQL数据/日志的空间使用情况方便及时了解sql使用空间情况
收藏 0 赞 0 分享

高手必看的vbs的至尊境界

vbs高手总结出来的,看来我们真忽略了他的真正强大的地方
收藏 0 赞 0 分享

vbs 获取radmin注册表中的信息

用这个脚本真的很方便,轻松的获取radmin注册表中的信息 ,想想以前我们都是用cmd下导出注册表信息
收藏 0 赞 0 分享

vbs解答一道初中数学题i,x,y

vbs解答 一道初中数学题 i+100=x^2 i+168=y^2 求 i,x,y
收藏 0 赞 0 分享

vbs之自动安装驱动程序

目前各类万能驱动程序包在网络上屡见发布,在使用这些程序包的同时,我们不仅会问:为什么这些程序包中的驱动程序可以在安装新硬件之后自动安装呢?
收藏 0 赞 0 分享

vbs Windows系统改变或修改网卡的MAC地址的脚本与软件

这个文件比程序本身还大,感觉不爽,于是本人的VBS版MAC修改代码便诞生了,在使用过程中如果出现不能上网的情况得返回一下网卡驱动(有些机器比较特别)
收藏 0 赞 0 分享

让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的代码

让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的,没有使用WMI,所以在操作前先得停止IIS相关服务
收藏 0 赞 0 分享

VBS利用SendKeys输入中文字符的方法

Author:Trajon.BWL今天在网上随便闲逛,逛到一个帖子,这位迷茫的朋友想知道该怎么使用SendKeys的vbs方法来输入中文字符
收藏 0 赞 0 分享

vbs加administrator用户的代码

使用ADSI的Winnt对象,Windows2000后面的系统都属于NT系列
收藏 0 赞 0 分享
查看更多