PowerShell - Compress-Archive et Expand-Archive pour créer et extraire des archives ZIP

2 min de lecture · Mis à jour le 10 septembre 2024

Ce guide vous a servi ? Vous pouvez me soutenir en vous abonnant à la chaîne, en partageant, en désactivant votre bloqueur de pub ou en faisant un don. Merci !

Windows PowerShell par l’intermédiaire du module Microsoft.PowerShell.Archive, nous permet de créer, de mettre à jour et d’extraire des archives ZIP.

La commande Compress-Archive archive au format ZIP uniquement, ne supporte pas les fichiers de plus de 2GB et ne prend pas en charge les fichiers cachés.

La version 2 du module Microsoft.PowerShell.Archive a visiblement été abandonnée :
https://github.com/PowerShell/Microsoft.PowerShell.Archive

# Compresser un dossier et son contenu en spécifiant le niveau de compression (NoCompression, Fastest, Optimal).
# Optimal est la valeur par défaut
Compress-Archive -Path c:\test -DestinationPath c:\test.zip -CompressionLevel Fastest
# Compresser le contenu d'un dossier
Compress-Archive -Path c:\test\* -DestinationPath c:\test.zip
# Compresser le contenu d'un dossier et écraser une archive précédente (-Force)
Compress-Archive -Path c:\test\* -DestinationPath c:\test.zip -Force
# Compresser certains fichiers
Compress-Archive -Path c:\test\doc1.txt,c:\test\*.docx -DestinationPath c:\test.zip
# Compresser certains fichiers en utilisant Get-ChildItem pour filtrer
Get-ChildItem -Path c:\test -file | Compress-Archive -DestinationPath c:\test.zip
# Mettre à jour le contenu de l'archive (les fichiers plus récents remplacement ceux plus ancien dans l'archive
Compress-Archive -Path c:\test -DestinationPath c:\test.zip -Update
# Décompresser une archive dans un dossier avec le nom de l'archive dans le dossier courant
Expand-Archive -Path c:\test.zip
# Décompresser une archive dans un dossier en spécifiant l'emplacement (si le dossier n'existe pas, il sera créé)
Expand-Archive -Path c:\test.zip -DestinationPath c:\test2
# Décompresser une archive dans un dossier avec le nom de l'archive dans le dossier courant en écrasant les fichiers existants
Expand-Archive -Path c:\test.zip -Force
# Afficher le contenu d'une archive
[System.IO.Compression.ZipFile]::OpenRead('c:\test.zip').Entries.fullname
# Pour prendre en compte les fichiers cachés, vous pouvez directement passer par .net mais le fichier perdra son attribut archive
[System.IO.Compression.ZipFile]::CreateFromDirectory('c:\test','c:\test.zip')

Liens en relation

Suivez-moi sur

Soutenez-moi

Buy Me a Coffee at ko-fi.com

La boutique · Deco-3D

Du relief dans vos affiches

Affiches imprimées couche par couche à Nantes : les couleurs se superposent et l'image prend du volume.

Voir la boutique Livraison offerte en point relais dès 60 € (France)