国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

用VBS腳本刪除指定以外的文件或文件夾

2020-03-24 17:13:44
字體:
來源:轉載
供稿:網友
Option Explicit

''''''''''''''說明''''''''''''
'網盟-黑火制作,送給需要的朋友。
'配置文件“Listfile.ini”的格式如下:
'要刪除什么(文件|目錄)=要執行刪除的文件夾=排除1;排除2;排除3............
'配置文件可以有多行,以便對多個目錄進行操作。
'配置文件里以“/”開頭的行為注釋行。
'排除多個內容時,使用分號“;”進行分隔。
'↓↓↓ 配置文件例子:↓↓↓
'/配置文件開始
'目錄=D:/=System Volume Information;網絡游戲;單機游戲;小游戲
'目錄=C:/Program Files=qq;WinRAR
'文件=D:/網絡游戲=文件1.exe;文件2.exe
'/配置文件結束
'''''''''''''說明完''''''''''''

Dim Fso,Listfile,objListfile
Listfile = "" '設置配置文件路徑,如果配置文件和腳本放在一起,請保持原樣

If Listfile = "" Then Listfile = "Listfile.ini"
Set Fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Set objListfile = Fso.OpenTextFile(Listfile,1)
If Err Then
err.Clear
Msgbox "沒有找到配置文件 "&Listfile,16,"錯誤"
WScript.quit
End If
On Error GoTo 0

Dim flnum,fdnum,t1,t2,tm
flnum=0
fdnum=0
t1 = timer()

Dim Myline,LineArr,ListArr
Do While objListfile.AtEndOfStream True
Myline = LCase(Replace(objListfile.ReadLine,"==","="))
If Left(Myline,1) = "/" Then
'objListfile.SkipLine
ElseIf CheckLine(Myline) = 2 Then
LineArr = Split(Myline,"=")
'DoFolder = LineArr(1)
ListArr = Split(LineArr(2),";")
'MsgBox LineArr(0)
If LineArr(0) = "目錄" Then DelFolder LineArr(1),ListArr
If LineArr(0) = "文件" Then DelFile LineArr(1),ListArr
End If
Loop

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

MsgBox "掃描完畢,共刪除 "&fdnum&" 個目錄, "&flnum& "個文件。"& vbCrLf &"耗時 "&tm&" 毫秒",64,"執行完畢"
'不需要顯示報告的話,注釋掉上面這一行

Set Fso=NoThing
WScript.quit

Sub DelFolder(Folder,ListArr)
Dim objFolder,subFolders,subFolder
Set objFolder=Fso.Getfolder(Folder)
Set subFolders=objFolder.subFolders
For Each subFolder In subFolders
If Not InArray(LIstArr,LCase(subFolder.name)) Then
On Error Resume Next
subfolder.Delete(True)
If Err Then
err.Clear
Msgbox "不能刪除目錄,請檢查 "&subFolder,16,"錯誤"
Else
fdnum = fdnum + 1
End If
On Error GoTo 0
End If
Next
End Sub

Sub DelFile(Folder,ListArr)
Dim objFolder,Files,File
Set objFolder=Fso.Getfolder(Folder)
Set Files=objFolder.Files
For Each File In Files
If Not InArray(LIstArr,LCase(File.name)) Then
On Error Resume Next
File.Delete(True)
If Err Then
err.Clear
Msgbox "不能刪除文件,請檢查 "&File,16,"錯誤"
Else
flnum = flnum + 1
End If
On Error GoTo 0
End If
Next
End Sub

Function CheckLine(strLine)
Dim LineRegExp,Matches
Set LineRegExp = New RegExp
LineRegExp.Pattern = ".=."
LineRegExp.Global = True
Set Matches = LineRegExp.Execute(strLine)
CheckLine = Matches.count
End Function

Function InArray(Myarray,StrIn)
Dim StrTemp
InArray = True
For Each StrTemp In Myarray
If StrIn = StrTemp Then
Exit Function
Exit For
End If
Next
InArray = False
End Function
html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阿克| 方正县| 夹江县| 南安市| 渝中区| 腾冲县| 仙居县| 台中市| 玉林市| 临泉县| 阳朔县| 隆尧县| 安新县| 讷河市| 武平县| 建始县| 杭锦旗| 台安县| 铁岭县| 西贡区| 五河县| 全椒县| 海口市| 乌兰察布市| 固镇县| 龙里县| 抚州市| 隆安县| 丁青县| 资溪县| 长沙县| 北宁市| 佛学| 平顺县| 大丰市| 濮阳县| 靖边县| 宜阳县| 武胜县| 长海县| 平潭县|