• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用vbs删除某些类型文件和磁盘空间报告的脚本

    Option Explicit
    dim ServerPath,onlyone,notfinddel,WorkPath,arrWorwpath,strWorkPath,fso,wsh,WshNetwork,cName,exectime,fnum,donum,totalsize,t1,t2,tm
    fnum=0
    donum=0
    totalsize=0
    WorkPath = "F:\|D:\|C:\Download\"   '这里设置需要扫描的路径(绝对路径),使用“|”来分隔多个路径
    serverpath = "\\server\log$\"       '在这里设置服务器上的共享文件夹(可写共享),用来存放删除日志
    onlyone = "是"                     '设置是否只扫描一次,如果想每次运行都扫描,请改为“否”。
    notfinddel = "是"       '如果本次运行没有找到任何要删除的内容,就删除日志文件,(你想每次都保留日志的话,请改为“否”)

    If Right(serverpath,1) > "\" Then serverpath = serverpath"\"
    arrWorwpath = Split(WorkPath,"|")
    t1 = timer()
    Set WSH = WScript.CreateObject("WScript.Shell")
    wsh.run "regsvr32 /s scrrun.dll",0,true
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    cName = WshNetwork.ComputerName
    exectime = Now()
    Dim dicdrv,logfile,logfilepath,Objdrv,drvTotalSize,drvFreeSpace
    logfilepath = Replace(ServerPathcName".txt",":","-")
    If Not fso.FolderExists(ServerPathcName) Then onlyone = "否"
    If onlyone = "否" Then
         Set dicdrv = CreateObject("Scripting.Dictionary")
         Set logfile = fso.OpenTextFile(logfilepath,8,True)
         logfile.WriteBlankLines(1)
         logfile.WriteLine "#####################################################"
         logfile.WriteLine "开始扫描--"Now()
         logfile.WriteBlankLines(1)
         For Each strWorkPath In arrWorwpath
             If Right(strWorkPath,1) > "\" Then strWorkPath = strWorkPath"\"
             scan(strWorkPath)
             If Not dicdrv.Exists(UCase(Left(strWorkPath,1))"t") Then
                 Set Objdrv = fso.GetDrive(fso.GetDriveName(Left(strWorkPath,2)))
                 dicdrv.add UCase(Left(strWorkPath,1))"t",FormatNumber(Objdrv.TotalSize/1048576, 0)
                 dicdrv.add UCase(Left(strWorkPath,1))"f",FormatNumber(Objdrv.FreeSpace/1048576, 0)
             End If
         Next
         t2 = timer()
         tm=cstr(int(( (t2-t1)*10000 )+0.5)/10)
         logfile.WriteBlankLines(1)
         logfile.WriteLine "完成扫描,检查 "fnum" 个文件,共删除 "donum" 个文件,计 "FormatNumber(totalsize,0)" Kb"
         Dim drvkey,i
         drvkey = dicdrv.Keys
         For i = 0 To dicdrv.Count-1 Step 2
             logfile.WriteLine Left(drvkey(i),1)"盘:总计磁盘空间 "dicdrv.Item(drvkey(i))" M ,剩余磁盘空间 "dicdrv.Item(drvkey(i+1))" M"
         Next
         logfile.WriteLine "耗时 "  tm  " 毫秒,   "Now()
         logfile.WriteLine "#####################################################"
         logfile.WriteBlankLines(1)
         logfile.close
         If notfinddel = "是" Then
             If donum = 0 Then fso.DeleteFile logfilepath,True
         End If
         If Not fso.FolderExists(ServerPathcName) Then fso.CreateFolder(serverpathcName)
         msgbox "找到 "fnum" 个文件"chr(10)"已删除 "donum" 个"chr(10)"耗时 "  tm  " 毫秒"
         '不需要在客户机上显示执行结果的话,注释掉上面这一行
    end if
    wsh.run "regsvr32 /u /s scrrun.dll",0,true
    Set WshNetwork = Nothing
    Set wsh=NoThing
    Set FSO=NoThing
    WScript.quit

    Sub scan(strfolder_) 
         Dim folder_,files,file,ext,subfolders,subfolder
         'on error resume next
         Set folder_=fso.getfolder(strfolder_)
         Set files=folder_.files 
         For Each file In files
             fnum = fnum+1
             ext=fso.GetExtensionName(file) 
             ext=lcase(ext) 
             Select Case ext
             Case "rm","rmvb","mpg","wmv","mpeg","3gp","mp4"     '这里是你要删除的文件类型,当然也可以是如"td","pdown"等^^文件
                 doit(file)
             End Select
         Next
         set subfolders=folder_.subfolders
         For Each subfolder In subfolders
             If subfolder.name > "System Volume Information" And subfolder.name > "RECYCLER" Then
                 scan(subfolder)
             End If
         Next
    End Sub

    Sub doit(file)
         Dim strtemp,lngsize,strsizeV
         strtemp = file.path
         lngsize = clng(file.size/1024)
         donum=donum+1
         totalsize = totalsize + lngsize
         'fso.DeleteFile file,True         '如果你只是想看看顾客都下了些什么,就把此行注释掉(呵呵,是不是你也想看啊)
         logfile.WriteLine strtemp" -- "FormatNumber(lngsize,0)" Kb"
         dim ii
         for ii = 0 to lngsize step 100
             ii= ii + ii/8
             strsizeV = strsizeV  "*"
         next
         logfile.WriteLine "---"strsizeV
    end Sub
    上一篇:用VBS记录客户机操作的代码
    下一篇:两个批量挂马vbs脚本代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    用vbs删除某些类型文件和磁盘空间报告的脚本 用,vbs,删除,某些,类型,文件,