1

是否可以在windows系统上通过perl调用winrar,比如

perl -e "rar a -rr10 -sc:\backups\backup.rar @backup.lst"

如果是这样,有没有更有效的方法来做到这一点?

我在谷歌上查找了“perl -e”+winrar,但是没有一个结果给我任何与我正在寻找的答案相近的答案。我运行它的系统是 Windows XP 系统。如果它更容易,我愿意用另一种语言(如 python)来做这件事,但是我更喜欢 perl。

4

3 回答 3

4

您可以使用 CPAN 模块Archive::Rar访问 Windows 中的 RAR 工具:

use Archive::Rar;
my $rar = Archive::Rar->new(-archive => $archive_filename);
$rar->Extract();
于 2010-04-05T18:00:27.537 回答
2

从 Perl 脚本执行外部命令的一种方法是使用system

my $cmd = 'rar a -rr10 -s c:\backups\backup.rar @backup.lst';
if (system $cmd) {
    print "Error: $? for command $cmd"
}
于 2010-04-05T16:54:23.420 回答
1

要使用 Perl 程序中的外部应用程序,请使用内置的系统。

如果您需要命令的输出,可以使用perlop中讨论的反引号 (``) 或 qx 运算符。您还可以使用perlipc中讨论的管道。

于 2010-04-05T16:52:57.280 回答