328 votes

Comment pouvez-vous compresser ou décompresser depuis le script en utilisant UNIQUEMENT les capacités intégrées de Windows?

Sur Windows, vous pouvez compresser certains fichiers en

cliquant droit → Envoyer versDossier compressé (zippé)

Et décompresser en double-cliquant sur le fichier .zip et extraire les fichiers.

Existe-t-il un moyen d'appliquer ces fonctionnalités depuis un script (.bat) sans avoir besoin d'installer un logiciel tiers?

2voto

Irfan wani Points 1444

Celui-ci a fonctionné pour moi (en 2021) :

tar -xf test.zip

Cela décompressera le test dans le répertoire actuel.

0voto

John Jesus Points 850

Il se peut que ce ne soit pas exactement ce que vous voulez, mais c'est ce que je fais lorsque je veux extraire à partir de la ligne de commande : http://superuser.com/questions/149489/does-windows-7-have-unzip-at-the-command-line-installed-by-default

rundll32.exe zipfldr.dll,RouteTheCall filename.zip

Il ouvre la boîte de dialogue d'extraction de l'Explorateur de fichiers ...

0voto

HeyJude Points 980

Ajoutant à la réponse de @Jason Duffett sur cette question et ses commentaires, voici un script qui reçoit l'entrée et la sortie (nom du fichier et nom du répertoire, respectivement) de l'utilisateur :

@echo off
set input=%1
set output=%2
powershell.exe "Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('%input%', '%output%');"

Utilisation:

unzip.bat chemin\vers\fichier.zip chemin\vers\répertoire\de\sortie

0voto

hecker hecker Points 23

J'ai trouvé un moyen de décompresser un fichier zip avec un fichier batch :

@echo off
::unziper
set /p zip=zip:
powershell -Command "Expand-Archive %zip%"
echo done
pause

Je poste ceci au cas où quelqu'un en aurait besoin. pourquoi modifier ma réponse?

0voto

kittu Points 1540

Comme répondu par @Noam Manos, nous pouvons améliorer un peu plus la compression en utilisant un alias dans le fichier .bashrc :

alias zip='jar -cMf'

et ensuite la commande (dans le terminal bash) serait

zip target.zip dir1 dir2

Remarque : vous devez avoir Java et Git Bash installés et configurés dans Windows pour que cela fonctionne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X