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
Compress-Archive -LiteralPath-DestinationPath
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
Compress-Archive -LiteralPath-DestinationPath
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.
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
à 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
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:
Compressez uniquement des types de fichiers spécifiques à partir d’un dossier.
Compress-Archive -Path C:pathtofile*.* -DestinationPath C:pathtoarchive.zip
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
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
Expand-Archive -LiteralPath-DestinationPath
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:
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.
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.