Thread entpacken von verschlüsselten rar. Archiven
(5 answers)
Opened by KarlaCluft at 2013-01-25 16:47
Hab mich nicht eingehend mit Archive::Rar befasst, aber ich finde keine Option, wie/dass man ein Password angeben kann.
Aber wenn das "nur ein Wrapper" um ein System-"unrar" ist, könnte man etwas ähnliches auch selber stricken: Hier ein unvollständiger Schnellschuß, ungetestet und ohne Gewähr: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 # globale Definition der Kommando-Pfade my %cmd = ( unrar => '/path/to/unrar', ); # globale Definition von Optionen pro Kommando, die immer gelten sollen my %opts = ( unrar => [ 'x' ], ); # .... # Definition der Entpack-Routine sub unrar { my $archive = shift; my $pass = shift; if ( !exists $cmd{unrar} ) { die "No path to unrar is defined in \%cmd\n"; } elsif ( not -x $cmd{unrar} ) { die "$cmd{unrar} is not executable\n"; } my @cmd = ( $cmd{unrar}, # wenn globale Optionen definiert sind, nutze sie ( $opts{unrar} ? @{$opts{unrar}} : () ), # -pPASSWORD wird nur genutzt, wenn ein Passwort angegeben wurde ( defined $pass ? "-p$pass" : ()), $archive ); return system(@cmd); } # ... chdir($where_to_store_archive_content) or die "chdir failed: $!\n"; unrar( $archive_path, $password ) or die "unrar failed for '$archive' : $!\n"; Last edited: 2013-02-11 21:49:19 +0100 (CET) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |