当前位置:DOS资源站资料中心VBS脚本 → 文件夹对比删除的VBS脚本

文件夹对比删除的VBS脚本

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-5-2 1:52:23

作用:对比样本文件夹,删除目标文件夹里多于的文件和文件夹 DOS资源站提供 www.cmdos.net
'''''''''''''说明完''''''''''''


Dim Fso,wsh,BasicFod,DestFod,flnum,fdnum,t1,t2,tm
Set WSH = WScript.CreateObject("WScript.Shell")
Set Fso = CreateObject("Scripting.FileSystemObject")


flnum=0
fdnum=0
t1 = timer()


BasicFod="d:\aaa" '你要对比的样本文件夹
DestFod="d:\bbb"  '要删除文件的目标文件夹
ScanDel(DestFod)


t2 = timer()
tm=cstr(int(( (t2-t1)*10000 )+0.5)/10)


Set wsh=NoThing
Set Fso=NoThing
msgbox "比较完毕,删除 "&flnum&" 个文件,删除 "&fdnum& "个文件夹。"& vbCrLf &"耗时 "&tm&" 毫秒",64,"执行完毕"
WScript.quit


Sub ScanDel(Dfd)
'on error resume next
Set Dfolder=Fso.Getfolder(Dfd)
Set files=Dfolder.files
For Each file In files
Bfile = lcase(Replace(lcase(cstr(file)),DestFod,BasicFod))
If Not Fso.FileExists(Bfile) Then
file.Delete(True)
flnum = flnum + 1
End If
Next
Set subfolders=Dfolder.subfolders
For Each subfolder In subfolders
Bsubfolder = lcase(Replace(lcase(cstr(subfolder)),DestFod,BasicFod))
If Not Fso.FolderExists(Bsubfolder) Then
subfolder.Delete(True)
fdnum = fdnum + 1
Else
ScanDel(subfolder)
End If
Next
End Sub