1

パスワードでアーカイブを解凍する方法を探しています! 私はこれをパスのないものに使用しています:

use strict;
use warnings;
use Archive::Rar;

$archive = "test.rar";

$unrar = Archive::Rar->new(archive => "$archive");
$unrar->Extract ();

このパスワードは「pass123」です。前もって感謝します!

4

1 に答える 1

2

Archive::Rarは、実際のバイナリの薄いが複雑なラッパーであり、プロセスの非常に狭い制御を提供しますが、その内部では無意味なデータが大量に移動します。rar代わりに、Perl の多くの IPC 機能を介して手動でバイナリを呼び出すArchive::Unrarか、Windows プラットフォームを使用している場合は使用することを検討してください。

とにかく、このモジュールはかなりずさんなデータ制御を持っているので、ワンショットタスクのための迅速で汚いスクリプトだけが必要な場合は、ファイルリストにフラグを挿入することでコマンドラインに必要なものを入れるようにだますことができます:

my $unrar = Archive::Rar->new(archive => $archive);
$unrar->{args}{-files} = ['.', '-ppass123'];
$unrar->Extract;
于 2013-01-25T16:23:36.423 に答える