In realtà, esiste un equivalente a una riga che crea archivi zip, e c'è persino un one-liner per creare una corrispondenza esatta, vale a dire un file tar. Il primo posto che dovresti cercare per una tale funzione di libreria è PowerShell Community Extensions, fornendo una vasta gamma di estensioni di librerie di alta qualità a PowerShell. Sfortunatamente, una ricerca sul web per un elemento specifico, come la funzione di creazione zip, probabilmente non restituisce nulla perché da nessuna parte sul sito o nella documentazione includono un elenco dei cmdlet e delle funzioni fornite! Per scoprire è necessario installare la libreria quindi fare help about_pscx
. Spulciando che, qui è quello che troverete rilevanti per la vostra domanda:
Write-Zip
Create ZIP format archive files from pipline or parameter input.
Write-GZip
Create GNU ZIP (GZIP) format files from pipeline or parameter input.
Write-Tar
Create Tape Archive (TAR) format files from pipeline or parameter input.
E qui, dai loro esempi incorporati, sono come li potrebbe utilizzare:
PS> dir c:\logs\ -rec -inc *.log | write-zip -level 9 -removeoriginal
PS> dir c:\logs\ -rec -inc *.log | write-tar -output logs.tar | write-gzip -level 9 | move-item c:\archived_logs\
fonte
2012-03-02 18:02:33
ti invitiamo a mostrare il 7- zip sloution. Grazie –
@ F505 ora puoi farlo direttamente in PS, vedi la risposta aggiornata. – zdan
@ F505 Stai cercando di estrarre da un archivio, non di crearne uno. Non credo che le funzioni di archivio di PowerShell integrate supportino gzip. Prova a fare una domanda separata. – zdan