Как я могу вызвать WinRar в Perl на Windows - PullRequest
0 голосов
/ 05 апреля 2010

Можно ли вызвать winrar через perl в системе Windows, например,

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

Если так, есть ли более эффективный способ сделать это?

Я посмотрел в Google "perl -e" + winrar, однако ни один из результатов не дал мне ответа, который был бы отдаленно близок к тому, что я искал. Система, на которой я работаю, - это система Windows XP. Я готов сделать это на другом языке, например, на python, если это проще, однако мне удобнее с perl.

Ответы [ 3 ]

4 голосов
/ 05 апреля 2010

Вы можете получить доступ к средствам RAR в Windows с помощью модуля CPAN Архив :: Rar :

use Archive::Rar;
my $rar = Archive::Rar->new(-archive => $archive_filename);
$rar->Extract();
2 голосов
/ 05 апреля 2010

Одним из способов выполнения внешних команд из сценария Perl является использование system :

my $cmd = 'rar a -rr10 -s c:\backups\backup.rar @backup.lst';
if (system $cmd) {
    print "Error: $? for command $cmd"
}
1 голос
/ 05 апреля 2010

Чтобы использовать внешние приложения из вашей Perl-программы, используйте встроенную систему .

Если вам нужен вывод команды, вы можете использовать оператор backtick (``) или qx, как описано в perlop . Вы также можете использовать трубы, как описано в perlipc .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...