Section courante

A propos

Section administrative du site

Utiliser des fichiers ZIP avec PowerShell

Le format de fichier ZIP réduit la taille des fichiers en les compressant en un seul fichier. Ce processus économise de l'espace disque et facilite le partage de fichiers avec d'autres. Voici comment compresser et décompresser des fichiers à l'aide de PowerShell.

Comment compresser des fichiers à l'aide de PowerShell

Commençons par compresser certains fichiers dans une archive de fichiers ZIP à l'aide de la commandlette

Compress-Archive. Elle prend le chemin de tous les fichiers que vous souhaitez compresser (les fichiers multiples sont séparés par une virgule) et les archive dans la destination que vous spécifiez. Tout d'abord, ouvrez PowerShell en le recherchant dans le menu Démarrer, puis en tapant la commande suivante, en remplaçant PathToFiles et PathToDestination par le chemin d'accès aux fichiers que vous souhaitez compresser et le nom et le dossier que vous souhaitez, respectivement :

Compress-Archive -LiteralPath PathToFiles -DestinationPath PathToDestination

Lorsque vous fournissez le chemin de destination, assurez-vous de donner un nom au fichier d'archive, sinon PowerShell l'enregistrera sous le nom «.zip» où vous le spécifiez.

Remarque : Les guillemets autour du chemin ne sont nécessaires que lorsque le chemin du fichier contient un espace.

Alternativement, pour compresser tout le contenu d'un dossier - et tous ses sous-dossiers - vous pouvez utiliser la commande suivante, en remplaçant PathToFolder et PathToDestination par le chemin d'accès aux fichiers que vous souhaitez compresser et le nom et le dossier que vous le souhaitez aller respectivement à :

Compress-Archive -LiteralPath PathToFolder -DestinationPath PathToDestination

Dans l'exemple précédent, nous avons mis le chemin d'accès à un répertoire contenant plusieurs fichiers et dossiers sans spécifier de fichiers individuels. Le PowerShell prend tout à l'intérieur du répertoire racine et le compresse, les sous-dossiers et tout. La commandlette

Compress-Archive vous permet d'utiliser un caractère générique (*) pour étendre encore plus les fonctionnalités. Lorsque vous utilisez le caractère, vous pouvez exclure le répertoire racine, compresser uniquement les fichiers d'un répertoire ou choisir tous les fichiers d'un type spécifique. Pour utiliser un caractère générique avec Compress-Archive, vous devez utiliser le paramètre -Path à la place, car -LiteralPath ne les accepte pas.

Ci-dessus, nous avons expliqué comment inclure le répertoire racine et tous ses fichiers et sous-répertoires lors de la création d'un fichier d'archive. Cependant, si vous souhaitez exclure le dossier racine du fichier Zip, vous pouvez utiliser un caractère générique pour l'omettre de l'archive. En ajoutant un astérisque (*) à la fin du chemin du fichier, vous indiquez à PowerShell uniquement de récupérer ce qui se trouve à l'intérieur du répertoire racine. Ça devrait ressembler a quelque chose comme ceci :

Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip

Ensuite, supposons que vous ayez un dossier avec un tas de types de fichiers différents (.doc, .txt, .jpg,...) mais que vous ne vouliez compresser qu'un seul type. Vous pouvez demander à PowerShell de les archiver sans toucher explicitement aux autres. La notation de la commande ressemblerait à ceci :

Compress-Archive -Path C:\path\to\file\*.jpg -DestinationPath C:\path\to\archive.zip

Remarque : les sous-répertoires et les fichiers du dossier racine ne sont pas inclus dans l'archive avec cette méthode.

Enfin, si vous voulez une archive compressant uniquement les fichiers du répertoire racine - et tous ses sous-répertoires - vous utiliserez le caractère générique étoile-point-étoile (*.*) pour les compresser. Cela ressemblerait à quelque chose comme ceci :

Compress-Archive -Path C:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip

Remarque : les sous-répertoires et les fichiers du dossier racine ne sont pas inclus dans l'archive avec cette méthode.

Même une fois l'archivage terminé, vous pouvez mettre à jour un fichier compressé existant à l'aide du paramètre -Update. Il vous permet de remplacer les anciennes versions de fichiers dans l'archive par des versions plus récentes portant le même nom et d'ajouter des fichiers ayant été créés dans le répertoire racine. Cela ressemblera à quelque chose comme ceci :

Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip

Comment décompresser des fichiers à l'aide de PowerShell

En plus de pouvoir compresser des fichiers et des dossiers, PowerShell a la possibilité de décompresser des archives. Le processus est encore plus facile que de les compresser ; tout ce dont vous avez besoin est le fichier source et une destination pour les données prêtes à être décompressées.

Ouvrez PowerShell et tapez la commande suivante, en remplaçant PathToZipFile et PathToDestination par le chemin d'accès aux fichiers que vous souhaitez compresser et le nom et le dossier vers lesquels vous souhaitez accéder, respectivement :

Expand-Archive -LiteralPath PathToZipFile -DestinationPath PathToDestination

Le dossier de destination spécifié pour extraire les fichiers se remplira avec le contenu de l'archive. Si le dossier n'existait pas avant la décompression, PowerShell créera le dossier et y placera le contenu avant de décompresser.

Par défaut, si vous omettez le paramètre -DestinationPath, le PowerShell décompressera le contenu dans le répertoire racine actuel et utilisera le nom du fichier Zip pour créer un nouveau dossier.



Dernière mise à jour : Vendredi, le 10 novembre 2021