Se você selecionar todos os arquivos zip no Explorer e clicar com o botão direito do mouse, deverá encontrar uma opção Extract Here
no menu 7-Zip
. Isso deve fazer o que você quiser.
Eu tenho um grande diretório de zip
arquivos, cada um contendo um único arquivo. Eu gostaria de extrair todos os arquivos zip automaticamente, em um diretório.
O 7-zip tem um recurso para extrair vários zips no mesmo diretório. No entanto, ele cria um subdiretório para cada zip original. Aqui está o que o antes e o depois parecem:
- before
- a.zip
- a.txt
- b.zip
- b.txt
- c.zip
- c.txt
- d.zip
- d.txt
- after
- a
- a.txt
- b
- b.txt
- c
- c.txt
- d
- d.txt
No entanto, minha saída desejada é esta:
- after
- a.txt
- b.txt
- c.txt
- d.txt
Como posso fazer isso?
Se você selecionar todos os arquivos zip no Explorer e clicar com o botão direito do mouse, deverá encontrar uma opção Extract Here
no menu 7-Zip
. Isso deve fazer o que você quiser.
Você pode tentar usar um arquivo em lotes para essa tarefa. Algo como:
::Path where zip files are stored
SET SOURCEPATH=C:\zips\before
::Target Path where extracted files will be stored
SET TARGETPATH=C:\zips\after
::path to 7-zip
SET Z=C:\Program Files-Zipz.exe
::Extract each file in source folder into target
FOR %%f in (%SOURCEPATH%\*.zip) do "%Z%" e %%f -o%TARGETPATH%
Este arquivo em lote irá descompactar todos os arquivos na pasta "Antes" com a extensão "zip" na pasta "Depois". Você deve modificar os caminhos de origem, destino e 7zip.
Você pode fazer isso na linha de comando com o comutador "e".
7za e archive.zip -o\path\to\target
O comutador -o é opcional e permite especificar um diretório de destino para descompactar. Não coloque um espaço entre o -o e o caminho. Se você não especificá-lo, o diretório atual será usado.
Apenas tome cuidado para que seu arquivo não tenha arquivos com o mesmo nome em pastas diferentes.