Como posso testar todos os arquivos zip em uma pasta para verificar se estão corrompidos ou não?

Como posso testar todos os arquivos zip em uma pasta para verificar se estão corrompidos ou não?

Há muito tempo, havia um utilitário chamado CFAtest que fazia isso muito bem, mas desapareceu.

Basicamente, estou procurando uma ferramenta semelhante (de preferência gráfica) que percorra um determinado caminho (de preferência incluindo subpastas) e teste todos os arquivos zip que encontrar.

Opções de registro decentes seriam uma vantagem.

Responder1

Encontre todos os arquivos zip em todas as subpastas

Isso encontrará em todas as subpastas da pasta atual ( .) os arquivos ( -type f) com a extensão zip(ou ZIPou Zipou zIpe assim por diante, caso seja ignorado, -iname) e testará sua integridade (opção -t) sendo silenciosa (opção -q, juntos -tq). Ser bastante significa: não listar o conteúdo do arquivo zip, mas apenas relatar o resultado do teste.

find . -type f -iname '*.zip' -exec unzip -tq {} \;

Apenas pasta atual (sem subpastas)

Se você deseja apenas verificar os arquivos no diretório atual, e não em nenhuma subpasta, use

unzip -tq '*.[Zz][Ii][Pp]'

no diretório com os arquivos zip. Isso também verifica extensões de arquivo ZIPou Zipetc. zIp, caso seja ignorado.

Responder2

No Windows eu uso7zip: fornece uma interface gráfica de usuário, é gratuito e suporta uma ampla variedade de formatos de arquivo, incluindo zip.

Navegue até a pasta que deseja analisar no Windows Explorer. Pesquise *.zip, selecione todos os arquivos, clique com o botão direito e selecione "Arquivo de teste"

insira a descrição da imagem aqui

Em seguida, espere (observe que leva cerca de 10 minutos para o explorer.exe passar por 100.000 .zip antes do 7z iniciar o teste):

insira a descrição da imagem aqui

Responder3

A resposta de Erik não funcionou para mim em um Mac, mas funciona para zips na pasta atual e em todas as subpastas:

find . -name '*.zip' -exec unzip -tq {} \;

Produz isso para cada arquivo:

No errors detected in compressed data of ./2013-10-16.zip.

Responder4

Pode não ser exatamente o que você pediu, mas existe uma ferramenta chamada Zip2Fix.

Não usei, mas você pode baixá-lo aqui:

http://leelusoft.blogspot.com/2011/06/zip2fix-10.html

informação relacionada