Articles

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

Posted on

Il peut parfois être utile de créer par programmation des archives zip ou d’extraire des fichiers d’archives existantes. Windows PowerShell 5.0 a ajouté deux cmdlets pour ce faire. La cmdlet Compress-Archive vous permet de créer de nouvelles archives à partir de dossiers ou de fichiers individuels et d’ajouter des fichiers aux archives ; Extract-Archive peut être utilisée pour décompresser des fichiers.

Si vous n’avez pas déjà PowerShell 5.0 ou une version ultérieure installée sur vos systèmes, vous pouvez télécharger la dernière version du cadre de gestion Windows sur le site Web de Microsoft ici.

Utiliser PowerShell pour créer des fichiers Zip

Commençons par utiliser PowerShell pour compresser les fichiers dans une nouvelle archive zip. Il suffit d’utiliser le paramètre -Path pour spécifier le dossier à compresser et le paramètre -DestinationPath pour spécifier le nom de l’archive à créer. La commande ci-dessous va compresser 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:\Archives\Invoices

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

Compress-Archive -LiteralPath C:\ Invoices\File1.txt, C:\Invoices\File2.txt -DestinationPath C:\Archives\Invoices -Force

Notez que j’ai ajouté le paramètre -Force pour écraser l’archive que j’ai créée à l’aide de 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 existante Invoices.zip:

Compress-Archive -Path C:\Invoices\* -Update -DestinationPath C:\Archives\Invoices

Optionnellement, vous pouvez utiliser le paramètre -CompressionLevel avec l’une des trois valeurs suivantes : Optimal, NoCompression ou Fastest. Optimal est le paramètre 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 l’utilisation de 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 des fichiers décompressés. La commande ci-dessous extrait le contenu de l’archive Invoices.zip vers un dossier nommé InvoicesUnzipped à l’aide du cmdlet Expand-Archive.

Expand-Archive -LiteralPath C:\Archives\Invoices.Zip -DestinationPath C:\ InvoicesUnzipped

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

Consultant informatique et auteur spécialisé dans les technologies de gestion et de sécurité. Russell a plus de 15 ans d’expérience en informatique, il a écrit un livre sur la sécurité de Windows et il a coécrit un texte pour la série Microsoft’s Official Academic Course (MOAC).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *