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 ZIP
o Zip
o zIp
y 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
, Zip
etc. 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"
Luego espere (tenga en cuenta que explorer.exe tarda unos 10 minutos en recorrer 100.000 .zip antes de que 7z comience a probar):
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í: