2017-03-06 155 views
0

我正在嘗試使用VBScript來刪除壓縮文件夾。該zip文件還有其他文件夾和文件。VBS從壓縮文件夾中刪除文件夾

編輯開始:基本代碼是:

zipfile = "D:\testFolder\zippers\TestIt\New folder\your.zip" 
foldername = "New folder" 
destination  = "D:\testFolder\zippers\TestIt\New folder" 

Set app = CreateObject("Shell.Application") 
For Each f In app.NameSpace(zipfile).Items 
    If f.Name = foldername Then 
    app.Namespace(destination).MoveHere f, FOF_NOCONFIRMATION 
    End If 
Next 

Set fso = CreateObject("Scripting.FileSystemObject") 
fso.DeleteFolder fso.BuildPath(destination, foldername), True 

可悲的是,在ZIP遺體的文件夾:How to delete files from zip with VBScript 結束編輯

這裏是腳本的本地化的示例中,我試圖用其刪除。所以MoveHere看起來像是一個CopyHere而不是...怪異的

Can Any person help? PS:沒有刪除文件夾標籤,只有一個刪除文件...

回答

1

如果您在複製someone else's code時給出正確的歸屬,那將會很不錯。

這樣說,它看起來不像Shell.Application對象能夠從zip壓縮文件中刪除文件夾。在文件夾上調用MoveFile會將該嵌套文件夾中的所有文件移出存檔,但會留下空的(子)文件夾樹。

要完全刪除的文件夾嵌套,你需要使用第三方工具,如7-zip

Function qq(s) : qq = """" & s & """" : End Function 

Set sh = CreateObject("WScript.Shell") 
sh.Run "C:\path\to\7z.exe d " & qq(zipfile) & " " & qq(foldername), 0, True 
+0

對此深感抱歉。你是對的,我只是不記得我從哪裏得到的基本代碼,在開始篡改它之前... 謝謝他提示,但可悲的是我試圖做這個沒有任何第三方程序,否則我只會使用7zip。哦,比挑戰不可能;)謝謝你。 –

相關問題