如何使用 perl Archive::Zip 将文件添加到存档中?

Posted

技术标签:

【中文标题】如何使用 perl Archive::Zip 将文件添加到存档中?【英文标题】:How to add a file to an archive using perl Archive::Zip? 【发布时间】:2016-08-25 16:49:25 【问题描述】:

我正在使用 Archive::Zip 创建存档文件,我想知道是否可以将文件添加到已经存在的存档中?看起来每次我调用 ->writeToFileNamed 文件都会被截断......

【问题讨论】:

看看这个link,它可能有你需要的东西。 也可以使用$zip->addMember( $member ) 【参考方案1】:
use strict;
use warnings;
use Archive::Zip;

my $zip = Archive::Zip->new();
#create your archive
my $member = #"file you want to add to archive";
$zip->addMember( $member );

如果您没有在脚本中创建 zip,那么只需“读取”它并添加您的文件...

use warnings;

use strict;

use Archive::Zip qw( :ERROR_CODES );

my $zip = Archive::Zip->new();

$zip->read('c:\users\user\desktop\test.zip') == AZ_OK or die "read error\n";

$zip->addFile('test.pl');

$zip->overwrite()     == AZ_OK or die "write error\n";

【讨论】:

对不起,如果我不够清楚,我想将文件添加到现有的 zip 文件中。 好的,我为第二种情况添加了解决方案,如果它确实解决了您的问题,请接受它作为答案

以上是关于如何使用 perl Archive::Zip 将文件添加到存档中?的主要内容,如果未能解决你的问题,请参考以下文章

Archive::Zip 无法在 Perl 中创建 Zip 对象

Perl Archive::zip -- 文件没有被添加

Perl Archive::Zip 创建不必要的文件夹

使用 Perl 从 zip 中获取目录结构 [关闭]

在目录中按组大小压缩文件

使用 Archive::Zip 存储文件时遇到问题:我得到没有错误代码的空 zip 文件