从 ZIP 存档中导出文件列表而不解压缩

Posted

技术标签:

【中文标题】从 ZIP 存档中导出文件列表而不解压缩【英文标题】:Export file list from ZIP archive without unzipping 【发布时间】:2014-04-25 09:20:37 【问题描述】:

我有数百个 ZIP 档案,每个档案都包含 2000 到 4000 个 xml 文件。现在我需要一些方法来获取一个文本文件,该文件将包含这些 xml 文件的列表或至少每个存档中的文件计数。

是否有任何应用程序可以做到这一点,或者我可以通过 cmd 或 perl 做到这一点?

我不是专业的程序员

【问题讨论】:

你至少是enthusiast programmer 吗? snag.gy/iW5Ow.jpg 您可以使用命令行解压缩或 7-Zip 等与命令行开关来列出 zip 文件的内容。需要有关该任务以及您可以使用的存档器的更多信息。 【参考方案1】:

Archive::Zip 可用于读取 zip 文件及其成员。

该模块包含一个examples directory,其中包含许多有用的脚本来展示如何使用该模块。

【讨论】:

【参考方案2】:

类似这样的:

#!/usr/bin/perl
use strict;
use warnings;

use Archive::Zip;

my $archive_name = "archive.zip";

my $archive_extract = Archive::Zip -> new ( $archive_name );
foreach my $member ( $archive_extract -> members() )

  print $member -> fileName(),"\n";

当然,您需要提供自己的目录搜索。我建议您查看File::Find

【讨论】:

程序运行起来就像一个魅力,我将文件列表导出到一个带有>file.txt在cmd中的文本文件,我需要另一个帮助,我可以在文本文件中获取每个存档中的文件计数吗还有一个循环来绕过放置在文件夹中的一些档案?

以上是关于从 ZIP 存档中导出文件列表而不解压缩的主要内容,如果未能解决你的问题,请参考以下文章

如何更新 zip 存档中的一个文件

编辑文件而不解压缩存档

使用 ZipOutPutStream Java 压缩(zip)文件列表

HP-UX - 如何在不解压缩的情况下从 tar 存档中读取文本文件?

如何从 zip 文件中读取数据而无需解压缩整个文件

ZIP - 压缩文件实际上并不压缩文件