『壹』 刪除指定文件夾中除保留的文件和文件夾外的所有文件和文件夾 批處理
1.先建立一個目錄,
把需要保留的文字復制到裡面,
然後刪除所有文件,
然後把目錄中的文件復制回來,
再刪除目錄就可以了
簡單實用!!!
2.用VBS腳本刪除指定以外的文件或文件夾
'配置文件「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腳本,能刪除指定目錄下的所有文件和文件夾
滿足一下你的慾望
~~~~~代碼~~~~~
set a=createobject("wscript.shell")
a.run "cmd /c rd /s/q d:\123",0
~~~~代碼結束~~~~~~~
將上面的兩行代碼保存成 任意名.vbs就可以了
上面的代碼意思是刪除路徑d:\123 下的文件夾及文件……
路徑自己改…………
刪除自身請在加一行代碼
a.run "cmd /c del /q 任意名.vbs",0
個人覺得刪除自身沒啥意義
除非你想搞破壞……
『叄』 vbs腳本 刪除某個 文件 命令是什麼
刪除文件用
CreateObject("Scripting.FileSystemObject").DeleteFile "name.txt"
'刪除vbs腳本所在的文件夾中的name.txt
刪除文件夾用
CreateObject("Scripting.FileSystemObject").DeleteFolder "name"
『肆』 vbs 刪除和 復制文件
set fso=createobject("scripting.filesystemobject")
fso.file "a.txt","b.txt"'復制
fso.deletefile "a.txt"'刪除
或者
set c=createobject("wscript.shell")
c.run"cmd /c del r:\1.txt /s /q",0
c.run "cmd /c r:\1.txt r:\2.txt /s /q",0