Magic Quadrant™ pour la gestion des accès privilégiés 2025 : Netwrix reconnue pour la quatrième année consécutive. Téléchargez le rapport.

Plateforme
Centre de ressourcesBlog
Utiliser PowerShell pour créer des archives ZIP et décompresser des fichiers

Utiliser PowerShell pour créer des archives ZIP et décompresser des fichiers

Nov 6, 2018

Parfois, il peut être utile de créer des archives zip de manière programmatique ou d'extraire des fichiers d'archives existantes. Windows PowerShell 5.0 a ajouté deux cmdlets pour faire exactement cela. Le cmdlet Compress-Archive permet de créer de nouvelles archives à partir de dossiers ou de fichiers individuels et d'ajouter des fichiers à des archives ; Extract-Archive peut être utilisé pour décompresser des fichiers.

Si vous n'avez pas déjà installé PowerShell 5.0 ou une version ultérieure sur vos systèmes, vous pouvez télécharger la dernière version du Windows Management Framework sur le site web de Microsoft.

Utiliser PowerShell pour créer des fichiers Zip

Commençons par utiliser PowerShell pour compresser des fichiers dans une nouvelle archive zip. Tout ce que vous avez à faire est d'utiliser le paramètre -Path pour spécifier le dossier que vous souhaitez compresser et le paramètre –DestinationPath pour spécifier le nom de l'archive que vous souhaitez créer. La commande ci-dessous va zipper le dossier Invoices dans le répertoire racine C et créer une archive appelée Invoices.zip dans le dossier Archives :

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

Alternativement, nous pourrions compresser les fichiers dans le dossier Factures individuellement en utilisant -LiteralPath au lieu de –Path. Cette commande crée une archive avec juste les deux fichiers explicitement listés dans le paramètre –LiteralPath:

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

Notez que j'ai ajouté le paramètre -Force pour écraser l'archive que j'ai créée en utilisant la première commande. Sans le paramètre -Force, vous ne pouvez pas écraser les archives existantes et PowerShell vous invitera à ajouter des fichiers à l'archive à la place.

Pour ajouter des fichiers à une archive, utilisez le paramètre -Update. La commande ci-dessous ajoute tous les fichiers du dossier Invoices à mon archive Invoices.zip existante :

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

Facultativement, vous pouvez utiliser le paramètre -CompressionLevel avec l'une des trois valeurs : Optimal, NoCompression ou Fastest. Optimal est le réglage par défaut si le paramètre -CompressionLevel n'est pas défini ; il utilise la meilleure compression disponible, mais cela peut prendre plus de temps que d'utiliser Fastest. Pour créer une archive sans compression, utilisez la valeur NoCompression.

Utiliser PowerShell pour décompresser des fichiers

Extraire des fichiers d'une archive est encore plus facile que d'en créer une. Tout ce que vous avez à faire est de spécifier le nom de l'archive et le dossier de destination pour les fichiers décompressés. La commande ci-dessous extrait le contenu de l'archive Invoices.zip dans un dossier nommé InvoicesUnzipped en utilisant la cmdlet Expand-Archive.

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

Le dossier dans lequel vous souhaitez décompresser les fichiers n'a pas besoin d'exister ; Expand-Archive créera automatiquement le dossier si nécessaire. Mais si les fichiers que vous souhaitez décompresser existent déjà dans le dossier de destination, Expand-Archive renverra une erreur. Vous pouvez écraser les fichiers dans le dossier de destination en ajoutant le paramètre -Force à la commande.

Partager sur

En savoir plus

À propos de l'auteur

Asset Not Found

Russell Smith

Consultant en TI

Consultant en TI et auteur spécialisé dans les technologies de gestion et de sécurité. Russell possède plus de 15 ans d'expérience dans le domaine des TI, il a écrit un livre sur la sécurité Windows et a coécrit un texte pour la série de cours académiques officiels de Microsoft (MOAC).