Comment compresser (et décompresser) des fichiers à l’aide de 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, crypte les données 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 fichier ZIP à l’aide de l’applet de commande Compress-Archive. Il prend le chemin d’accès à tous les fichiers que vous souhaitez compresser (plusieurs fichiers 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 et avec le chemin d’accès aux fichiers que vous souhaitez compresser et le nom et le dossier dans lesquels vous souhaitez qu’il aille, respectivement:

Compress-Archive -LiteralPath  -DestinationPath 

Compressez quelques fichiers dans PowerShell.

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

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

Sinon, pour compresser tout le contenu d’un dossier et de tous ses sous-dossiers, vous pouvez utiliser la commande suivante, en remplaçant et avec le chemin d’accès aux fichiers que vous souhaitez compresser et le nom et le dossier dans lesquels vous souhaitez qu’il aille, respectivement:

Compress-Archive -LiteralPath  -DestinationPath 

Compressez un dossier entier et tout son contenu.

Dans l’exemple précédent, nous avons mis le chemin vers un répertoire contenant plusieurs fichiers et dossiers sans spécifier de fichiers individuels. PowerShell prend tout ce qui se trouve dans le répertoire racine et le compresse, les sous-dossiers et tout.

  Comment ouvrir PowerShell dans un emplacement spécifique dans Windows 10

L’applet de commande Compress-Archive vous permet d’utiliser un caractère générique

pour étendre encore plus la fonctionnalité. 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.

Compress-Archive -Path C:pathtofile* -DestinationPath C:pathtoarchive.zip

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 ca:

Compress-Archive -Path C:pathtofile*.jpg -DestinationPath C:pathtoarchive.zip

Compressez tout le contenu d'un dossier, sans le dossier racine lui-même.

Ensuite, disons que vous avez un dossier avec un tas de types de fichiers différents (.doc, .txt, .jpg, etc.) mais que vous voulez seulement compresser tous d’un type. Vous pouvez dire à PowerShell de les archiver sans toucher explicitement les autres. La notation de la commande ressemblerait à ceci:

  Comment configurer Adguard Home sur Linux

Compressez uniquement des types de fichiers spécifiques à partir d’un dossier.

Compress-Archive -Path C:pathtofile*.* -DestinationPath C:pathtoarchive.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 qui ne compresse que 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:

Compressez uniquement les fichiers du dossier racine à l’aide de la widlcard star-dot-star (*. *).

Compress-Archive -Path C:pathtofiles -Update -DestinationPath C:pathtoarchive.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’archive terminée, vous pouvez mettre à jour un fichier zippé existant à l’aide du paramètre -Update. Il vous permet de remplacer les anciennes versions de fichiers de l’archive par des versions plus récentes qui portent les mêmes noms et d’ajouter des fichiers qui ont été créés dans le répertoire racine. Cela ressemblera à quelque chose comme ceci:

Mettez à jour un fichier zip déjà existant à l’aide du paramètre -Update.

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 les archives. Le processus est encore plus simple 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

Expand-Archive -LiteralPath  -DestinationPath 

et

avec le chemin d’accès aux fichiers que vous souhaitez compresser et le nom et le dossier dans lesquels vous souhaitez qu’il aille, respectivement:

  Comment utiliser la vidéo Picture in Picture (PiP) sur un iPad

Décompressez une archive avec la cmdlet Expand-Archive.

Le dossier de destination spécifié dans lequel extraire les fichiers sera rempli 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 la décompression.

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

Dans l’exemple précédent, si nous omettons -DestinationPath, PowerShell créera le dossier «Archive» dans le chemin «C: Usersbrady» et extraira les fichiers de l’archive dans le dossier.

Si vous omettez le paramètre -DestinationPath, PowerShell extrait le zip dans son répertoire actuellement sélectionné.

Si le dossier existe déjà dans la destination, PowerShell renverra une erreur lorsqu’il essaiera de décompresser les fichiers. Cependant, vous pouvez forcer PowerShell à remplacer les données par les nouvelles à l’aide du paramètre -Force.

Vous ne devez utiliser le paramètre -Force que si les anciens fichiers ne sont plus nécessaires, car cela remplacera de manière irréversible les fichiers sur votre ordinateur.