昔、これを非常にうまく実行していた CFAtest というユーティリティがありましたが、消えてしまいました。
基本的に、私は、指定されたパス(できればサブフォルダーを含む)をトラバースし、見つかったすべての zip ファイルをテストする同様のツール(できればグラフィカル)を探しています。
適切なログ記録オプションがあればさらに良いでしょう。
答え1
すべてのサブフォルダ内のすべてのzipファイルを検索
これは、現在のフォルダ ( .
)のすべてのサブフォルダで-type f
、拡張子zip
(またはZIP
またはZip
などzIp
、大文字と小文字は区別されません) を持つファイル ( ) を検索し、それらの整合性 (オプション) が静かであること (オプション、一緒に)-iname
をテストします。静かであることは、zip ファイルの内容を一覧表示せず、テスト結果のみを報告することを意味します。-t
-q
-tq
find . -type f -iname '*.zip' -exec unzip -tq {} \;
現在のフォルダのみ(サブフォルダなし)
現在のディレクトリ内のファイルのみをチェックし、サブフォルダ内のファイルをチェックしない場合は、
unzip -tq '*.[Zz][Ii][Pp]'
zip ファイルのあるディレクトリ内。ファイル拡張子もチェックされ、大文字ZIP
と小文字は区別されません。Zip
zIp
答え2
Windowsでは7zip: グラフィカル ユーザー インターフェイスを提供し、無料で、zip を含む幅広いアーカイブ ファイル形式をサポートします。
Windowsエクスプローラーで分析したいフォルダに移動します。を検索し*.zip
、すべてのファイルを選択して右クリックし、「アーカイブのテスト」を選択します。
その後、待機します (7z のテストを開始する前に、explorer.exe が 100,000 個の .zip を処理するのに約 10 分かかることに注意してください)。
答え3
erik の回答は Mac では機能しませんでしたが、これは現在のフォルダーとすべてのサブフォルダー内の zip には機能します。
find . -name '*.zip' -exec unzip -tq {} \;
各ファイルに対してこれを出力します:
No errors detected in compressed data of ./2013-10-16.zip.
答え4
あなたが求めているものとは少し違うかもしれませんが、Zip2Fix というツールがあります。
まだ使用していませんが、ここからダウンロードできます: