如何测试文件夹中的所有 zip 文件以验证它们是否已损坏?

如何测试文件夹中的所有 zip 文件以验证它们是否已损坏?

很久以前有一个名为 CFAtest 的实用程序可以很好地完成这项工作,但它已经消失了。

基本上,我正在寻找一个类似的工具(最好是图形化的),它可以遍历给定的路径(最好包括子文件夹)并测试它找到的所有 zip 文件。

不错的日志记录选项将是一个优点。

答案1

查找每个子文件夹中的每个 zip 文件

这将在当前文件夹 ( ) 的所有子文件夹中找到扩展名为( 或或或等等,忽略大小写, ) 的.文件 ( ) ,并测试它们的完整性 (选项) 保持安静 (选项,一起)。保持安静意味着:不列出 zip 文件的内容,而只报告测试结果。-type fzipZIPZipzIp-iname-t-q-tq

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

仅当前文件夹(无子文件夹)

如果你只想检查当前目录中的文件,而不检查任何子文件夹中的文件,请使用

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

在包含 zip 文件的目录中。这还会检查文件扩展名ZIPZipzIp等等,忽略大小写。

答案2

在 Windows 上我使用7zip:它提供了图形用户界面,免费,并支持包括 zip 在内的多种存档文件格式。

在 Windows 资源管理器中导航到要分析的指定文件夹。搜索*.zip,选择所有文件,右键单击,选择“测试存档”

在此处输入图片描述

然后等待(请注意,在 7z 开始测试之前,explorer.exe 大约需要 10 分钟才能浏览 100,000 个 .zip):

在此处输入图片描述

答案3

erik 的答案在 Mac 上对我来说不起作用,但这适用于当前文件夹和所有子文件夹中的 zip 文件:

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

为每个文件输出:

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

答案4

它可能不完全符合您的要求,但有一个名为 Zip2Fix 的工具。

我还没有用过它,但你可以从这里下载它:

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

相关内容