2010-03-01 10 views
29

Eseguo le seguenti operazioni per decomprimere e voler sovrascrivere i file correnti, se esistono ma il Microsoft solution non sembra funzionare. Non ho trovato nulla che dice che funzioni, quindi c'è un modo per selezionare l'opzione 'si a tutti'?Come sovrascrivere gli elementi esistenti con Folder.CopyHere in PowerShell?

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

risposta

1

mio rimedio pragmatico per questo problema potrebbe essere quella di usare qualcosa come 7-Zip. Che ha una bella interfaccia a riga di comando facilmente utilizzabile da dentro PowerShell.

+0

Spiacente, non riesco a modificare l'app zip. Quindi non c'è modo di aggirare lo svarione di microsoft? – Bruce227

47

Se si desidera sovrascrivere AND essere silenzioso, cambiare 0x10 a 0x14 (docs).

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

I flag funzionano quando si estrae un file zip in una cartella, che è ciò che l'OP sta facendo nel suo esempio, ma sembra essere ignorato durante la creazione di un file zip :( – deadlydog

+3

Solo una voce in alto, la speciale cartella Fonts non onora i sovraccarichi passato nel metodo CopyHere – FoxDeploy

+0

@FoxDeploy, grazie per l'heads-up sulla cartella Fonts. –

Problemi correlati