Como descompactar um arquivo usando o cmd?

4

Eu quero fazer um arquivo BAT que ZIP ou UNZIP um arquivo. Para compactar um arquivo, encontrei esta pergunta: Você pode compactar um arquivo a partir do prompt de comando usando APENAS o recurso interno do Windows para zipar arquivos?

As respostas dadas são ótimas e funcionam para mim, mas não consegui encontrar nenhuma informação sobre como descompactar os arquivos. Como no link, não posso assumir nenhuma ferramenta de terceiros (exceto winRAR).

Obrigado pela frente e desculpe pelos erros em inglês

    
por Chen Tasker 16.04.2018 / 08:42

1 resposta

4

Esse código de arquivo em lote ajudará você a descompactar um arquivo.

@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 é a pasta onde armazena o arquivo extraído (UnZip).

E, c: \ FolderName \ batch.zip é o caminho de origem, (onde os arquivos Zip são armazenados).

Por favor, altere o caminho completo do arquivo (nome do arquivo do Drive, Pasta e Zip), de acordo com sua necessidade.

    
por 16.04.2018 / 09:32