2016-11-24 168 views
2

我試圖使用Perl歸檔模塊解壓縮密碼保護的zip文件。 但有錯誤endedup錯誤:膨脹錯誤數據錯誤

錯誤:

inflate error data error at C:/Perl64/site/lib/Archive/Zip/Archive.pm line 367.

任何人都可以幫助我找到asolution,並解壓縮密碼保護的zip文件(用WinRAR來壓縮與密碼的文件)。

請找我使用的代碼:

my $file = "D:\\Public\\Sample-Programs\\tempzip\\TESTFILE.zip"; 
my $password = "aaa"; 

my $zip = Archive::Zip->new($file) or die "can't unzip"; 
foreach my $member_name ($zip->memberNames) { 
    my $member = $zip->memberNamed($member_name); 
    next if $member->isDirectory; 
    $member->password($password); 
    my $contents = $zip->contents($member) or die "error accessing $member_name"; 
    print("contents = $contents"); 
} 
+0

感謝stevieb更新問題。 –

回答

1

上有另一種方式的解決方案,可能是我想它的幫助:

未經檢驗的使用WinZip refered from

my $Prog  = $ENV{"ProgramFiles"}.'\\WinZip\\WINZIP32.exe'; 
my $Password = 'Secret Password'; 
my $ZIP  = 'filename.zip'; 
my $Path  = 'c:\\my\\folder'; 
system("$Prog -e -s\"$Password\" \"$Zip\" \"$Path\""); 

測試使用7zip:

my $file = "test.zip"; 
my $password = "secret"; 
my $Prog  = "\"c:\\Program Files\\7-Zip\\7zG.exe\""; 
system("$Prog e -p$password -y $file"); 
+0

感謝您的答案,但我不使用winzip我使用WINRAR –

+0

謝謝ssr我只是將EXE更改爲WINRAR和7zip格式的工作,非常感謝。 –

+0

@ shinoy.m:非常歡迎。 – ssr1012

相關問題