Compresser et décompresser des fichiers à l'aide de PowerShell

Marion Paul Kenneth Mendoza 30 janvier 2023
  1. Compresser des fichiers à l’aide de PowerShell
  2. Décompressez les fichiers à l’aide de PowerShell
Compresser et décompresser des fichiers à l'aide de PowerShell

Dans PowerShell 5.0, Microsoft dispose de commandes pour créer des archives zip et extraire des fichiers à partir d’archives existantes. Cet article traite des commandes PowerShell pour archiver et décompresser les fichiers compressés.

Les commandes suivantes sont deux des applets de commande les plus récentes publiées dans PowerShell v5.0 : la commande Compress-Archive crée un fichier d’archive compressé à partir de dossiers ou de fichiers individuels et la commande Expand-Archive pour extraire des fichiers d’un fichier d’archive compressé.

Compresser des fichiers à l’aide de PowerShell

Utilisons PowerShell pour compresser les fichiers dans une nouvelle archive .zip.

Utilisez le paramètre -Path pour spécifier l’emplacement du dossier que nous voulons compresser et le paramètre -DestinationPath pour spécifier le nom de l’archive compressée que vous souhaitez créer.

Par exemple, la commande ci-dessous va compresser le dossier Temp dans le répertoire racine C: et créer une archive appelée Temp_Files.zip dans le dossier Temp :

Compress-Archive -Path C:\Temp -DestinationPath C:\Temp\Temp_Files.zip

Alternativement, nous pourrions compresser les fichiers dans le dossier Temp individuellement en utilisant le paramètre -LiteralPath au lieu du paramètre -Path. Cela crée une archive avec seulement les deux fichiers listés dans le paramètre -LiteralPath :

Compress-Archive -LiteralPath C:\Temp\File1.txt, C:\Temp\File2.txt -DestinationPath C:\Temp\Temp_Files.zip -Force

Nous avons ajouté le paramètre -Force pour écraser la première archive que j’ai créée. Sans le paramètre -Force, vous ne pouvez pas remplacer les archives existantes, et Windows PowerShell vous invite à ajouter des fichiers à l’archive à la place.

Pour ajouter plusieurs fichiers à une archive, nous pouvons utiliser le paramètre -Update. Par exemple, la commande ci-dessous ajoute tous les fichiers du dossier Factures à mon archive Temp_Files.zip existante :

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip

Nous pouvons également utiliser le paramètre -CompressionLevel avec l’une des trois valeurs suivantes : NoCompression, Optimal ou Fastest.

Optimal est la valeur par défaut si le paramètre -CompressionLevel n’est pas présent dans l’expression. La compression Optimal utilise la meilleure compression, mais elle peut prendre plus de temps que la compression Fastest.

Utilisez la valeur NoCompression pour créer une archive sans compression.

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip -CompressionLevel Optimal

Décompressez les fichiers à l’aide de PowerShell

Pour extraire des fichiers d’une archive, nous devons spécifier le nom de l’archive et le dossier de destination des fichiers décompressés.

L’utilisation de la commande Expand-Archive extraira le contenu de l’archive Temp_Files.zip dans un dossier Temp.

Expand-Archive -LiteralPath C:\Temp\Temp_Files.Zip -DestinationPath C:\Temp

Expand-Archive créera automatiquement le dossier des fichiers extraits.

Cependant, si le fichier compressé que nous décompressons existe déjà dans le dossier de destination, Expand-Archive générera une erreur. Nous pouvons écraser les fichiers dans le dossier de destination en ajoutant le paramètre -Force à la ligne de commande.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Article connexe - PowerShell File