Il formato di file ZIP riduce le dimensioni dei file comprimendoli in un unico file. Questo processo consente di risparmiare spazio su disco, crittografa i dati e semplifica la condivisione di file con altri. Ecco come comprimere e decomprimere i file utilizzando PowerShell.
Come comprimere i file utilizzando PowerShell
Cominciamo comprimendo alcuni file in un archivio di file ZIP utilizzando il cmdlet Compress-Archive. Prende il percorso di tutti i file che si desidera comprimere (più file sono separati da una virgola) e li archivia nella destinazione specificata.
Innanzitutto, apri PowerShell cercandolo dal menu Start e quindi digitando il seguente comando, sostituendo
Compress-Archive -LiteralPath-DestinationPath
Quando fornisci il percorso di destinazione, assicurati di assegnare un nome al file di archivio o PowerShell lo salverà come “.zip” dove specificato.
Nota: le virgolette attorno al percorso sono necessarie solo quando il percorso del file contiene uno spazio.
In alternativa, per comprimere l’intero contenuto di una cartella e tutte le sue sottocartelle, puoi utilizzare il seguente comando, sostituendo
Compress-Archive -LiteralPath-DestinationPath
Nell’esempio precedente, abbiamo inserito il percorso di una directory con più file e cartelle senza specificare i singoli file. PowerShell prende tutto all’interno della directory principale e lo comprime, sottocartelle e tutto.
Il cmdlet Compress-Archive consente di utilizzare un carattere jolly
per espandere ulteriormente la funzionalità. Quando si utilizza il carattere, è possibile escludere la directory principale, comprimere solo i file in una directory o scegliere tutti i file di un tipo specifico. Per utilizzare un carattere jolly con Compress-Archive, è necessario utilizzare invece il parametro -Path, poiché -LiteralPath non li accetta.
Compress-Archive -Path C:pathtofile* -DestinationPath C:pathtoarchive.zip
alla fine del percorso del file, dici a PowerShell solo di afferrare cosa c’è dentro la directory principale. Dovrebbe assomigliare a qualcosa di simile a questo:
Compress-Archive -Path C:pathtofile*.jpg -DestinationPath C:pathtoarchive.zip
Quindi, supponi di avere una cartella con un mucchio di diversi tipi di file (.doc, .txt, .jpg, ecc.) Ma vuoi comprimere solo tutti di un tipo. Puoi dire a PowerShell di archiviarli senza toccare gli altri esplicitamente. La notazione del comando sarebbe simile a questa:
Comprimi solo tipi di file specifici da una cartella.
Compress-Archive -Path C:pathtofile*.* -DestinationPath C:pathtoarchive.zip
Infine, se si desidera un archivio che comprima solo i file nella directory principale e in tutte le sue sottodirectory, è necessario utilizzare il carattere jolly stella-punto-stella (*. *) Per comprimerli. Sarebbe simile a questo:
Comprimi solo i file dalla cartella principale con l’uso della widlcard star-dot-star (*. *).
Compress-Archive -Path C:pathtofiles -Update -DestinationPath C:pathtoarchive.zip
Anche dopo che l’archivio è stato completato, è possibile aggiornare un file zippato esistente utilizzando il parametro -Update. Ti consente di sostituire le versioni di file precedenti nell’archivio con quelle più recenti con lo stesso nome e di aggiungere file che sono stati creati nella directory principale. Assomiglierà a questo:
Aggiorna un file zip già esistente con l’uso del parametro -Update.
Come decomprimere i file utilizzando PowerShell
Expand-Archive -LiteralPath-DestinationPath
con il percorso dei file che vuoi comprimere e il nome e la cartella in cui vuoi che vada, rispettivamente:
Decomprimere un archivio con il cmdlet Expand-Archive.
La cartella di destinazione specificata in cui estrarre i file verrà popolata con il contenuto dell’archivio. Se la cartella non esisteva prima della decompressione, PowerShell creerà la cartella e inserirà il contenuto in essa prima della decompressione.
Nell’esempio precedente, se tralasciamo -DestinationPath, PowerShell creerà la cartella “Archive” nel percorso “C: Usersbrady” ed estrarrà i file dall’archivio nella cartella.
Se si esclude il parametro -DestinationPath, PowerShell estrae lo zip nella directory attualmente selezionata.
Se la cartella esiste già nella destinazione, PowerShell restituirà un errore quando tenta di decomprimere i file. Tuttavia, puoi forzare PowerShell a sovrascrivere i dati con quelli nuovi usando il parametro -Force.
È necessario utilizzare il parametro -Force solo se i vecchi file non sono più necessari, poiché ciò sostituirà irreversibilmente i file sul computer.