2012-11-17 55 views
0

我需要的VBScript中/命令提示符,刪除子文件夾,這將有具體的名稱VB腳本刪除特定的子文件夾

對於如:

  1. E:\測試\ 43 \ 5512686 \ 5512698 \ HTML \ ABC
  2. E:\測試\ 43 \ 5467686 \ 5512699 \ HTML \ ABC
  3. E:\測試\ 43 \ 5587686 \ 55147589 \ HTML \ ABC
  4. E:\測試\ 45 \ 5517586 \ 5512698 \ html \ abc

等,

其中例如上面的 「ABC」 文件夾需要刪除

任何人可以在這個

感謝幫助提前

回答

0

那麼,你需要閱讀所有文件夾,比較子文件夾,如果它適合你的名字,刪除它。

使用它來獲取您的子文件夾。

Set fs = CreateObject("Scripting.FileSystemObject") 
Set f = fs.GetFolder("E:\test\43\5512686\5512698\html\") 
Set fc = f.SubFolders 

然後用這個來刪除你的文件夾。

Set filesys = CreateObject("Scripting.FileSystemObject") 
If filesys.FolderExists("E:\test\43\5512686\5512698\html\abc") Then 
    filesys.DeleteFolder "E:\test\43\5512686\5512698\html\abc" 
End If 

通過這些代碼片段,您可以輕鬆完成您的要求中的代碼。

看來你並不確定父文件夾的不同名稱,所以你必須從根文件夾開始並循環所有子文件夾併爲每個文件夾級別執行此操作。

1

有關背景/背景信息,請參閱this skeleton for recursive file access。鑑於這種文件夾結構:

tree /A ..\test 
Folder PATH listing for volume eh 
Volume serial number is 0ED6-233C 
E:\TRIALS\SOTRIALS\ANSWERS\13415663\TEST 
+---vbs 
\---df 
    +---1 
    | +---b 
    | | \---x 
    | \---a 
    |  \---abc 
    \---2 
     \---abc 
      \---xx 

,並證明了這一點的概念代碼:

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) 
    ' not needed 
    End Sub 
    Public Function processFolder(oFolder) 
    WScript.Echo "looking at", oFolder.Path 
    processFolder = True 
    If "abc" = oFolder.Name Then 
     WScript.Echo "will delete", oFolder.Path 
     oFolder.Delete 
     processFolder = False 
    End If 
    End Function 
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 
     If oWorker.processFolder(oF) Then 
     traverseDir = traverseDir(oF, oWorker) 
     End If 
    Next 
End Function 

輸出:

cscript step02.vbs 
looking at E:\trials\SoTrials\answers\13415663\test\vbs 
looking at E:\trials\SoTrials\answers\13415663\test\df 
looking at E:\trials\SoTrials\answers\13415663\test\df\1 
looking at E:\trials\SoTrials\answers\13415663\test\df\1\b 
looking at E:\trials\SoTrials\answers\13415663\test\df\1\b\x 
looking at E:\trials\SoTrials\answers\13415663\test\df\1\a 
looking at E:\trials\SoTrials\answers\13415663\test\df\1\a\abc 
will delete E:\trials\SoTrials\answers\13415663\test\df\1\a\abc 
looking at E:\trials\SoTrials\answers\13415663\test\df\2 
looking at E:\trials\SoTrials\answers\13415663\test\df\2\abc 
will delete E:\trials\SoTrials\answers\13415663\test\df\2\abc 

證據:

tree /A ..\test 
Folder PATH listing for volume eh 
Volume serial number is 0ED6-233C 
E:\TRIALS\SOTRIALS\ANSWERS\13415663\TEST 
+---vbs 
\---df 
    +---1 
    | +---b 
    | | \---x 
    | \---a 
    \---2 

,你應該能夠編寫一個腳本,解決您的具體問題米

UPDATE:

here看到應用到移動文件夾的方法。

相關問題