Thread entpacken von verschlüsselten rar. Archiven (5 answers)
Opened by KarlaCluft at 2013-01-25 16:47

Linuxer
 2013-01-25 18:02
#165190 #165190
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hab mich nicht eingehend mit CPAN: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!

View full thread entpacken von verschlüsselten rar. Archiven