中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-09-02 19:12:47 來源:億速云 閱讀:188 作者:chen 欄目:開發技術

本篇內容介紹了“怎么用VBS腳本刪除指定以外的文件或文件夾”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

“怎么用VBS腳本刪除指定以外的文件或文件夾”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vbs
AI

长乐市| 崇州市| 唐河县| 无锡市| 德庆县| 双桥区| 涟源市| 徐闻县| 芦溪县| 涞水县| 水富县| 成武县| 三门县| 金昌市| 平山县| 六枝特区| 山东省| 黄浦区| 富平县| 沈丘县| 贡山| 尉氏县| 墨江| 泰来县| 南昌县| 康乐县| 瑞安市| 兴山县| 石屏县| 新源县| 大兴区| 怀仁县| 建昌县| 崇文区| 灌南县| 文水县| 扎赉特旗| 阜阳市| 洞头县| 霍林郭勒市| 久治县|