2010-03-01 59 views
29

我運行以下內容解壓縮並且想覆蓋當前文件(如果它們存在但Microsoft solution似乎不起作用)。我還沒有發現任何說明它有效的東西,因此是否有解決方法來選擇'是所有'選項?如何使用PowerShell中的Folder.CopyHere覆蓋現有項目?

$zipPackage = (new-object -com shell.application).NameSpace($zipfilename) 
$destinationFolder = (new-object -com shell.application).NameSpace($destination) 
$destinationFolder.CopyHere($zipPackage.Items(),16) 

回答

1

我對這個問題的務實的補救辦法是使用類似7-Zip。其中有一個很好的命令行界面,可以在PowerShell中輕鬆使用。

+0

對不起,我不能更改zip應用程序。那麼微軟失誤是不是沒有辦法解決? – Bruce227

47

如果您希望它覆蓋並保持沉默,請將0x10更改爲0x14docs)。

$destinationFolder.CopyHere($zipPackage.Items(), 0x14) 
+1

將標籤解壓到一個文件夾,這是OP在他的例子中做了什麼,但似乎在創建一個zip文件時被忽略:( – deadlydog

+3

只是頭向上,特殊的字體文件夾不承諾超載通過CopyHere方法傳遞 – FoxDeploy

+0

@FoxDeploy,謝謝你關於Fonts文件夾的提示 –