Extrai o arquivo ZIP e depois todos os arquivos sub-zip

1

Estou executando o Windows 10, mas também precisarei que ele funcione no Windows 7.
Eu tenho file.zip que contém x arquivos zip dentro dele, cada um dos quais também contém x arquivos zip. Como eu poderia extrair tudo isso "não manualmente"? I.E. com um arquivo bach ou um script python?

    
por Hugh 13.01.2018 / 21:25

1 resposta

1

Abaixo está um método que eu usei no passado para o mesmo tipo de tarefa que você descreveu, que eu tirei de um dos meus " pacote de scripts ". Eu usei o aplicativo gratuito 7-Zip para essa tarefa com 100% de sucesso.

Essentially this . . .

  • Uses the 7-Zip (7za) app to extract zip file(s) contents in one location to another
  • Then it does an xcopy of extracted ZIP files within the initial extracted files and copies those to a working directory
  • Then it deletes ZIP files from source, and extracts the other zip files from working directory and loops until complete

Observação: o arquivo executável 7za pode precisar ser copiado para a pasta /system32 ou talvez seja necessário definir o caminho que ele reside na variável de ambiente PATH .

Script em lote

Você precisará definir os valores das variáveis de origem, destino e diretório de trabalho de acordo com seu ambiente e necessidades, e o restante deve funcionar conforme o esperado.

@ECHO ON

SET sourcedir=C:\Test\Source
SET destdir=C:\Test\Dest
SET workdir=C:\Test\WorkTemp

:unzip
7za -Y e "%sourcedir%" -o"%destdir%" -r
DEL /Q /F "%workdir%\*zip
XCOPY /Y /F %destdir%\*.zip "%workdir%"
DEL /Q /F %destdir%\*.zip

DIR "%workdir%\*.zip" /A-D                         
IF ERRORLEVEL 1 GOTO :done

:unzip2
7za -Y e "%workdir%" -o"%destdir%" -r
DEL /Q /F "%workdir%\*.zip"
XCOPY /Y /F %destdir%\*.zip "%workdir%"
DEL /Q /F %destdir%\*.zip

DIR "%workdir%\*.zip" /A-D                         
IF ERRORLEVEL 1 GOTO :done
GOTO :unzip2

:done
GOTO :EOF

Mais recursos

por 13.01.2018 / 21:58