源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-01-16 07:31 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:用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(ServerPath&cName&".txt",":","-") If Not fso.FolderExists(ServerPath&cName) 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(ServerPath&cName) Then fso.CreateFolder(serverpath&cName)      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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部