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

首頁 > 編程 > VBScript > 正文

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

2020-07-26 11:58:17
字體:
供稿:網(wǎng)友
Option Explicit

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

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

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,"錯(cuò)誤"
     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&" 個(gè)目錄, "&flnum& "個(gè)文件。"& vbCrLf &"耗時(shí) "&tm&" 毫秒",64,"執(zhí)行完畢"
'不需要顯示報(bào)告的話,注釋掉上面這一行

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 "不能刪除目錄,請(qǐng)檢查 "&subFolder,16,"錯(cuò)誤"
         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 "不能刪除文件,請(qǐng)檢查 "&File,16,"錯(cuò)誤"
         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
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 柯坪县| 班玛县| 龙山县| 青海省| 通道| 息烽县| 清苑县| 云阳县| 黔西| 甘洛县| 平顺县| 高安市| 山丹县| 务川| 桑植县| 靖宇县| 青铜峡市| 兴海县| 桂平市| 鄂伦春自治旗| 聂拉木县| 郁南县| 体育| 通江县| 乌什县| 汉沽区| 汉阴县| 舒城县| 德惠市| 义马市| 开原市| 莲花县| 卓尼县| 大庆市| 启东市| 北辰区| 定襄县| 三台县| 长顺县| 苗栗县| 香港|