web-dev-qa-db-fra.com

Comment décompresser un fichier en utilisant la cmd?

Je veux faire un fichier BAT qui va décompresser ou décompresser un fichier. Pour compresser un fichier, j'ai trouvé la question suivante: Pouvez-vous compresser un fichier à partir de la commande Invite en utilisant UNIQUEMENT la capacité intégrée de Windows aux fichiers Zip?

Les réponses fournies sont excellentes et fonctionnent pour moi, mais je n’ai trouvé aucune information sur la procédure à suivre pour décompresser les fichiers. Comme dans le lien, je ne peux pas supposer d'outils tiers (à l'exception de WinRAR).

Merci d'avance et désolé pour les fautes d'anglais

7
Chen Tasker

Ce code de fichier de commandes vous aidera à décompresser un fichier.

@echo off
setlocal
cd /d %~dp0
Call :UnZipFile "C:\Temp\" "c:\FolderName\batch.Zip"
exit /b

:UnZipFile <ExtractTo> <newzipfile>
set vbs="%temp%\_.vbs"
if exist %vbs% del /f /q %vbs%
>%vbs%  echo Set fso = CreateObject("Scripting.FileSystemObject")
>>%vbs% echo If NOT fso.FolderExists(%1) Then
>>%vbs% echo fso.CreateFolder(%1)
>>%vbs% echo End If
>>%vbs% echo set objShell = CreateObject("Shell.Application")
>>%vbs% echo set FilesInZip=objShell.NameSpace(%2).items
>>%vbs% echo objShell.NameSpace(%1).CopyHere(FilesInZip)
>>%vbs% echo Set fso = Nothing
>>%vbs% echo Set objShell = Nothing
cscript //nologo %vbs%
if exist %vbs% del /f /q %vbs%

N.B. C:\Temp est le dossier dans lequel est stocké le fichier extrait (UnZip).

Et c:\FolderName\batch.Zip est le chemin source (où les fichiers Zip sont stockés).

Modifiez le chemin d'accès complet au fichier (nom du fichier Lecteur, Dossier & Zip), en fonction de vos besoins.

5
Rajesh S

Si vous utilisez Windows 10, vous pouvez utiliser l’équivalent beaucoup plus court de Powershell.

Expand-Archive -Force C:\path\to\archive.Zip C:\where\to\extract\to
4
MegaBatchGames