¿Cómo puedo probar todos los archivos zip en una carpeta para verificar si están dañados o no?

¿Cómo puedo probar todos los archivos zip en una carpeta para verificar si están dañados o no?

Hace mucho tiempo hubo una utilidad llamada CFAtest que hacía esto bastante bien, pero ha desaparecido.

Básicamente, estoy buscando una herramienta similar (preferiblemente gráfica) que recorra una ruta determinada (preferiblemente incluyendo subcarpetas) y pruebe todos los archivos zip que encuentre.

Las opciones de registro decentes serían una ventaja.

Respuesta1

Encuentra cada archivo zip en cada subcarpeta

Esto encontrará en todas las subcarpetas de la carpeta actual ( .) los archivos ( -type f) con la extensión zip(o ZIPo Zipo zIpy así sucesivamente, se ignora mayúsculas y minúsculas -iname) y probará su integridad (opción -t) estando en silencio (opción -q, juntos -tq). Ser tranquilo significa: no enumerar el contenido del archivo zip, sino solo informar el resultado de la prueba.

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

Solo la carpeta actual (sin subcarpetas)

Si solo desea verificar los archivos en el directorio actual y no en ninguna subcarpeta, use

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

en el directorio con los archivos zip. Esto también verifica las extensiones de archivo ZIP, Zipetc. zIp, se ignoran las mayúsculas y minúsculas.

Respuesta2

En Windows uso7zip: proporciona una interfaz gráfica de usuario, es gratuito y admite una amplia gama de formatos de archivos, incluido zip.

Navegue hasta la carpeta determinada que desea analizar en el Explorador de Windows. Busque *.zip, seleccione todos los archivos, haga clic derecho, seleccione "Archivo de prueba"

ingrese la descripción de la imagen aquí

Luego espere (tenga en cuenta que explorer.exe tarda unos 10 minutos en recorrer 100.000 .zip antes de que 7z comience a probar):

ingrese la descripción de la imagen aquí

Respuesta3

La respuesta de Erik no funcionó para mí en una Mac, pero funciona para archivos zip en la carpeta actual y todas las subcarpetas:

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

Genera esto para cada archivo:

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

Respuesta4

Puede que no sea exactamente lo que pediste, pero existe una herramienta llamada Zip2Fix.

No lo he usado pero puedes descargarlo desde aquí:

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

información relacionada