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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArticle connexe - PowerShell File
- Comment créer un fichier texte en utilisant Windows PowerShell
- Comment débloquer des fichiers en utilisant PowerShell
- Comment obtenir la taille d'un fichier en Ko en utilisant PowerShell
- Comment obtenir la version du fichier dans PowerShell
- Comment stocker le contenu d'un fichier texte dans une variable en utilisant PowerShell
- Comment télécharger des fichiers avec FTP dans PowerShell
