0
我需要VB腳本來刪除不必要/不需要的文件(具有不同的擴展名,但文件的姓氏是常見的,如ABC123DEF.pdf,ABC456DEF.pdf,QWE145_source.xml,QWE784_source從子文件夾中的.xml等)VB腳本刪除文件的子文件夾
任何人都可以在這個
感謝幫助提前
我需要VB腳本來刪除不必要/不需要的文件(具有不同的擴展名,但文件的姓氏是常見的,如ABC123DEF.pdf,ABC456DEF.pdf,QWE145_source.xml,QWE784_source從子文件夾中的.xml等)VB腳本刪除文件的子文件夾
任何人都可以在這個
感謝幫助提前
開始遍歷一個文件夾樹骨架腳本:
Step00.vbs:
Option Explicit
Dim goFS : Set goFS = CreateObject("Scripting.FileSystemObject")
WScript.Quit Main()
Function Main()
Dim sDir : sDir = "..\test"
Dim oWorker : Set oWorker = New cWorker
Main = traverseDir(goFS.GetFolder(sDir), oWorker)
End Function
Class cWorker
Public Sub processFile(oFile)
WScript.Echo oFile.Path
End Sub
End Class
Function traverseDir(oDir, oWorker)
traverseDir = 0
Dim oF
For Each oF In oDir.Files
oWorker.processFile oF
Next
For Each oF In oDir.SubFolders
traverseDir = traverseDir(oF, oWorker)
Next
End Function
輸出:
cscript step00.vbs
E:\trials\SoTrials\answers\13415663\test\13415663.notes
E:\trials\SoTrials\answers\13415663\test\13415663.kpf
E:\trials\SoTrials\answers\13415663\test\13415663-UE15.prj
E:\trials\SoTrials\answers\13415663\test\vbs\step00.vbs
主函數傳遞一個文件夾和一個工人到traverseDir函數 ,並返回到被傳遞給調用者(OS)的退出代碼。遍歷目錄 函數將目錄中的每個文件發送到worker的processFile子文件,爲每個子文件夾遞歸地調用 ,並將錯誤代碼返回給調用者(主/自身的前一個實例)。的(簡單)的工人只是回聲 該文件的路徑。
Step01.vbs使用工作用硬編碼的條件,以確定哪些 要刪除的文件:
Class cWorker
Public Sub processFile(oFile)
If "notes" = goFS.GetExtensionName(oFile.Name) Then
WScript.Echo "will delete", oFile.Path
oFile.Delete
End If
End Sub
End Class
輸出:
cscript step01.vbs
will delete E:\trials\SoTrials\answers\13415663\test\13415663.notes
基於這個概念驗證腳本可以提升traverseDir函數 (針對不可訪問文件夾的錯誤處理,...)和/或cWorker類(更多 複雜條件,錯誤處理,日誌記錄...)。
更新:
見this recursive folder access script獲得思想爲骨架的進一步增強。
我們不會做你的工作。你有什麼試過的?有什麼麻煩?哪裏?讓我們看看你的努力。 – jlvaquero