用vbs删除某些类型文件和磁盘空间报告的脚本
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
OptionExplicit dimServerPath,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="是"''如果本次运行没有找到任何要删除的内容,就删除日志文件,(你想每次都保留日志的话,请改为“否”) IfRight(serverpath,1)<>"\"Thenserverpath=serverpath&"\" arrWorwpath=Split(WorkPath,"|") t1=timer() SetWSH=WScript.CreateObject("WScript.Shell") wsh.run"regsvr32/sscrrun.dll",0,true Setfso=CreateObject("Scripting.FileSystemObject") SetWshNetwork=WScript.CreateObject("WScript.Network") cName=WshNetwork.ComputerName exectime=Now() Dimdicdrv,logfile,logfilepath,Objdrv,drvTotalSize,drvFreeSpace logfilepath=Replace(ServerPath&cName&".txt",":","-") IfNotfso.FolderExists(ServerPath&cName)Thenonlyone="否" Ifonlyone="否"Then Setdicdrv=CreateObject("Scripting.Dictionary") Setlogfile=fso.OpenTextFile(logfilepath,8,True) logfile.WriteBlankLines(1) logfile.WriteLine"#####################################################" logfile.WriteLine"开始扫描--"&Now() logfile.WriteBlankLines(1) ForEachstrWorkPathInarrWorwpath IfRight(strWorkPath,1)<>"\"ThenstrWorkPath=strWorkPath&"\" scan(strWorkPath) IfNotdicdrv.Exists(UCase(Left(strWorkPath,1))&"t")Then SetObjdrv=fso.GetDrive(fso.GetDriveName(Left(strWorkPath,2))) dicdrv.addUCase(Left(strWorkPath,1))&"t",FormatNumber(Objdrv.TotalSize/1048576,0) dicdrv.addUCase(Left(strWorkPath,1))&"f",FormatNumber(Objdrv.FreeSpace/1048576,0) EndIf Next t2=timer() tm=cstr(int(((t2-t1)*10000)+0.5)/10) logfile.WriteBlankLines(1) logfile.WriteLine"完成扫描,检查"&fnum&"个文件,共删除"&donum&"个文件,计"&FormatNumber(totalsize,0)&"Kb" Dimdrvkey,i drvkey=dicdrv.Keys Fori=0Todicdrv.Count-1Step2 logfile.WriteLineLeft(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 Ifnotfinddel="是"Then Ifdonum=0Thenfso.DeleteFilelogfilepath,True EndIf IfNotfso.FolderExists(ServerPath&cName)Thenfso.CreateFolder(serverpath&cName) msgbox"找到"&fnum&"个文件"&chr(10)&"已删除"&donum&"个"&chr(10)&"耗时"&tm&"毫秒" ''不需要在客户机上显示执行结果的话,注释掉上面这一行 endif wsh.run"regsvr32/u/sscrrun.dll",0,true SetWshNetwork=Nothing Setwsh=NoThing SetFSO=NoThing WScript.quit Subscan(strfolder_) Dimfolder_,files,file,ext,subfolders,subfolder ''onerrorresumenext Setfolder_=fso.getfolder(strfolder_) Setfiles=folder_.files ForEachfileInfiles fnum=fnum+1 ext=fso.GetExtensionName(file) ext=lcase(ext) SelectCaseext Case"rm","rmvb","mpg","wmv","mpeg","3gp","mp4"''这里是你要删除的文件类型,当然也可以是如"td","pdown"等^^文件 doit(file) EndSelec |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于用vbs删除某些类型文件和磁盘空间报告的脚本的所有评论