Wie kann ich alle ZIP-Dateien in einem Ordner testen, um festzustellen, ob sie beschädigt sind oder nicht?

Wie kann ich alle ZIP-Dateien in einem Ordner testen, um festzustellen, ob sie beschädigt sind oder nicht?

Vor langer Zeit gab es ein Dienstprogramm namens CFAtest, das dies ganz gut erledigte, aber es ist verschwunden.

Im Grunde bin ich auf der Suche nach einem ähnlichen Tool (vorzugsweise grafisch), das einen vorgegebenen Pfad (vorzugsweise inklusive Unterordner) durchsucht und alle gefundenen Zip-Dateien testet.

Gute Protokollierungsoptionen wären von Vorteil.

Antwort1

Finden Sie jede Zip-Datei in jedem Unterordner

Dadurch werden in allen Unterordnern des aktuellen Ordners ( .) die Dateien ( -type f) mit der Endung zip(oder ZIPoder Zipoder zIpusw., Groß-/Kleinschreibung wird ignoriert, -iname) gesucht und deren Integrität getestet (Option -t) und dabei leise sein (Option -q, zusammen -tq). Leise sein bedeutet: Es wird nicht der Inhalt der Zip-Datei aufgelistet, sondern nur das Testergebnis gemeldet.

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

Nur aktueller Ordner (keine Unterordner)

Wenn Sie nur die Dateien im aktuellen Verzeichnis und nicht in Unterordnern überprüfen möchten, verwenden Sie

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

im Verzeichnis mit den Zip-Dateien. Dabei wird auch auf Dateierweiterungen ZIPoder Zipoder zIpusw. geprüft, Groß- und Kleinschreibung wird ignoriert.

Antwort2

Unter Windows verwende ich7zip: Es bietet eine grafische Benutzeroberfläche, ist kostenlos und unterstützt eine breite Palette von Archivdateiformaten, einschließlich ZIP.

Navigieren Sie im Windows Explorer zu dem Ordner, den Sie analysieren möchten. Suchen Sie nach *.zip, wählen Sie alle Dateien aus, klicken Sie mit der rechten Maustaste und wählen Sie „Testarchiv“

Bildbeschreibung hier eingeben

Warten Sie dann (beachten Sie, dass explorer.exe etwa 10 Minuten braucht, um 100.000 .zip-Dateien zu durchsuchen, bevor 7z mit dem Testen beginnt):

Bildbeschreibung hier eingeben

Antwort3

Eriks Antwort hat bei mir auf einem Mac nicht funktioniert, aber dies funktioniert für Zip-Dateien im aktuellen Ordner und allen Unterordnern:

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

Gibt dies für jede Datei aus:

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

Antwort4

Es ist vielleicht nicht ganz das, was Sie gesucht haben, aber es gibt ein Tool namens Zip2Fix.

Ich habe es nicht verwendet, aber Sie können es hier herunterladen:

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

verwandte Informationen