Batch descompactar arquivos .zip usando 7z [closed]

2

Eu baixei um grande número de arquivos .zip e preciso extraí-los usando 7z (p7zip) na linha de comando. 7z x filename0001.zip é bem-sucedido, mas 7z x *.zip retorna um erro "Nenhum arquivo para processar".

Como posso descompactar os arquivos como um lote em vez de um por vez?

    
por Skyhawk 29.09.2011 / 23:07

2 respostas

2

Solução:

ls -1 *.zip | xargs -L 1 7z x

Explicação:

  1. ls -1 *.zip exibe uma lista de uma coluna de arquivos zip para stdout (ls traço-um, não ls-traço-ell)
  2. xargs -L 1 leva cada nome de arquivo retornado e passa para 7z x como um parâmetro.
por 29.09.2011 / 23:10
4
for zip in *.zip; do
    7z x "$zip"
done
    
por 29.09.2011 / 23:09