• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >vbs > 用vbs删除某些类型文件和磁盘空间报告的脚本

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了vbs数据类型,vbs 类型不匹配,vbs脚本病毒,vbs脚本,vbs脚本病毒生成器等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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 +&

您可能想查找下面的文章:

  • vbs判断磁盘类型和检测硬盘剩余空间的实现代码
  • vbs生成ACCESS数据里所有表的字段
  • 用vbs删除某些类型文件和磁盘空间报告的脚本
  • 用vbs实现返回 IP 配置数据

相关文章

  • vbs imail 密码解密
  • VBS基础教程
  • VBS获取外网IP地址并发送到指定邮箱的代码
  • 什么是 WSH(脚本宿主)的详细解释
  • vbs整人代码大集合 多年的代码收集
  • 网络接口利用率监控VBS脚本代码(Windows)
  • 利用vbs脚本实现设置IE的打印页眉页脚信息
  • VBS教程:在 VBScript 中使用对象
  • VBS.Runauto脚本病毒分析篇
  • 使用 Iisftp.vbs 创建FTP站点的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • VBS教程:函数-InStrRev 函数
    • VBS正则表达式对象的MultiLine属性
    • VBS教程:VBScript 语句-Property Let 语句
    • VBS教程:属性-Item 属性
    • bytes2BSTR
    • 使用脚本自动压缩指定目标下的所有文件的代码
    • 使用 Adsutil.vbs iis管理脚本
    • 灵活实用的VBS入门教程基础篇
    • iis PHP安装脚本 PHPInstall.vbs V3.1
    • 一个扩展时间段的dir命令的vbs脚本

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有