我试图从zip容器中提取文件,但我的脚本没有返回以下错误
错误详细信息:
格式错误:错误的签名:0x00000000,文件中偏移量为568276AUS-000X-201512 28234755_Data.zip,网址:C/Perl64/lib/Archive/zip.pm477.存档::Zip::_readSignature('IO::File=GLOB(0x2a5e2a8)','AUS-000X-20151228234755_Data.Zip')调用于C:/Perl64/lib/Archive/Zip/Archive.pm第603行档案::Zip::档案::readFromFileHandle('档案::Zip::档案=HASH(0x32c1e8)',"IO::File=GLOB(0x2a5e2a8)","AUS-000X-20151228234755_Data.zip")调用位于C/Perl64/lib/Archive/Zip/Archive.pm第548行存档::Zip::存档::读取('存档::Zip::存档=HASH(0x32c1e8)','AUS-000X-20151228234755_Data.zip')在zip_extract.pl行调用14读取AUS-000X-20151228234755_Data.zip失败
use strict;
use Archive::Zip qw(:ERROR_CODES);
opendir( DIR, "C:\Users\vinayas1\Desktop\Automation" ) || die "Can't
+ open local directory : $!";
my @zips = grep { -f "./$_" } readdir(DIR);
close(DIR);
foreach my $zipfiles ( grep( /.zip$/, @zips ) ) {
print "$zipfilesn";
if ( $zipfiles =~ /w+.zip$/ ) {
my $zip = Archive::Zip->new();
my $zipName = "$zipfiles";
my $status = $zip->read($zipName);
die "Read of $zipName failedn" if $status != AZ_OK;
print "$zipfilesn";
$zip->extractTree();
#unlink($zipfiles);
}
}
格式错误:错误签名:0x00000000,偏移量568276
这可能意味着文件已损坏。ZIP签名以0x4b50小endian结尾,但在您的情况下,它读取0x0000,这表明文件不符合ZIP规范。