Batch reempacotando arquivos zip em 7z

1

Tenho muitos arquivos de arquivos zip que gostaria de reempacotar no formato de arquivo 7z , pois isso economizaria muito espaço. Como faço para reempacotar esses arquivos em um computador com Windows 7?

Eu tentei fazer isso através da versão GUI do 7-zip archiver, mas não encontrei uma função correspondente. O WinRar tem uma funcionalidade "Convert", mas não é arquivada no formato 7z .

Não estou pedindo exclusivamente por uma solução que envolva scripts de arquivos em lote.

    
por user1306322 15.09.2013 / 19:54

3 respostas

5

Esta é minha opinião sobre o problema:

for %%F in (*.zip) do ( "C:\Program Files-Zipz.exe" x -y -o"%%F_tmp" "%%F" * & pushd %%F_tmp & "C:\Program Files-Zipz.exe" a -y -r -t7z ..\"%%~nF".7z * & popd & rmdir /s /q "%%F_tmp" )

Salve isso em um arquivo zip to 7z.bat , coloque-o no diretório com todos os arquivos zip que você deseja converter e clique duas vezes nele.

Obrigado ao Clint Priest pelo código base.

    
por 15.09.2013 / 23:14
2

Você pode usar a linha de comando 7zip (exemplos detalhados aqui ) para primeiro extrair todos os arquivos / pastas (usando o comando e ) e depois compactá-los novamente para 7z (usando o comando a ).

Se você planeja repetir essa operação, considere a captura das linhas de comando em um arquivo .bat / .cmd.

E sempre teste em um pequeno diretório antes de experimentar um grande número de arquivos!

    
por 15.09.2013 / 20:01
1

Aqui está uma linha de comando que fará isso para você, isto assume que os arquivos zip estão no mesmo diretório que o 7z.exe:

for %F in (*.zip) do ( 7z.exe e -y -o%~nF.tmp %F * & pushd %~nF.tmp & ..z.exe a -y -r -t7z ..\%~nF * & popd & rmdir /s /q %~nF.tmp )

    
por 15.09.2013 / 20:27