Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseBlog
Utilizzo di PowerShell per creare archivi ZIP e decomprimere file

Utilizzo di PowerShell per creare archivi ZIP e decomprimere file

Nov 6, 2018

A volte può essere utile creare archivi zip in modo programmatico o estrarre file da archivi esistenti. Windows PowerShell 5.0 ha aggiunto due cmdlet per fare proprio questo. Il cmdlet Compress-Archive consente di creare nuovi archivi da cartelle o file singoli e di aggiungere file agli archivi; il cmdlet Extract-Archive può essere utilizzato per decomprimere i file.

Se non hai già installato PowerShell 5.0 o versioni successive sui tuoi sistemi, puoi scaricare l'ultima versione del Windows Management Framework dal sito web di Microsoft.

Utilizzo di PowerShell per creare file Zip

Iniziamo utilizzando PowerShell per comprimere i file in un nuovo archivio zip. Tutto ciò che devi fare è usare il parametro -Path per specificare la cartella che vuoi comprimere e il parametro –DestinationPath per specificare il nome dell'archivio che vuoi creare. Il comando sottostante comprimerà la cartella Fatture nella directory radice C e creerà un archivio chiamato Fatture.zip nella cartella Archivi:

      Compress-Archive -Path C:Invoices -DestinationPath C:ArchivesInvoices
      

In alternativa, potremmo comprimere i file nella cartella Fatture individualmente utilizzando -LiteralPath anziché –Path. Questo comando crea un archivio contenente solo i due file esplicitamente elencati nel parametro –LiteralPath:

      Compress-Archive -LiteralPath C: InvoicesFile1.txt, C:InvoicesFile2.txt -DestinationPath C:ArchivesInvoices -Force
      

Nota che ho aggiunto il parametro -Force per sovrascrivere l'archivio che ho creato utilizzando il primo comando. Senza il parametro -Force non puoi sovrascrivere archivi esistenti e PowerShell ti chiederà di aggiungere file all'archivio invece.

Per aggiungere file a un archivio, utilizzare il parametro -Update. Il comando sottostante aggiunge tutti i file nella cartella Fatture all'archivio Invoices.zip esistente:

      Compress-Archive -Path C:Invoices* -Update -DestinationPath C:ArchivesInvoices
      

Facoltativamente, è possibile utilizzare il parametro -CompressionLevel con uno dei tre valori: Optimal, NoCompression o Fastest. Optimal è l'impostazione predefinita se il parametro -CompressionLevel non viene impostato; utilizza la migliore compressione disponibile, ma potrebbe richiedere più tempo rispetto all'uso di Fastest. Per creare un archivio senza compressione, utilizzare il valore NoCompression.

Utilizzo di PowerShell per decomprimere i file

Estrarre i file da un archivio è ancora più semplice che crearne uno. Tutto ciò che devi fare è specificare il nome dell'archivio e la cartella di destinazione per i file decompressi. Il comando sottostante estrae il contenuto dell'archivio Invoices.zip in una cartella denominata InvoicesUnzipped utilizzando il cmdlet Expand-Archive.

      Expand-Archive -LiteralPath C:ArchivesInvoices.Zip -DestinationPath C: InvoicesUnzipped
      

La cartella in cui desideri decomprimere i file non deve necessariamente esistere; Expand-Archive creerà automaticamente la cartella se necessario. Ma se i file che vuoi decomprimere esistono già nella cartella di destinazione, Expand-Archive restituirà un errore. Puoi sovrascrivere i file nella cartella di destinazione aggiungendo il parametro -Force al comando.

Condividi su

Scopri di più

Informazioni sull'autore

Asset Not Found

Russell Smith

Consulente IT

Consulente IT e autore specializzato in tecnologie di gestione e sicurezza. Russell ha più di 15 anni di esperienza nel settore IT, ha scritto un libro sulla sicurezza di Windows e ha coautore di un testo per la serie Microsoft’s Official Academic Course (MOAC).