Thread Dateien kopieren und entpacken
(8 answers)
Opened by karl34 at 2011-10-24 13:07
Hallo zusammen,
bastele an eine perl Script, gezipte Dateien, Endung .zip aus einem Verzeichnis, Verzeichnis_A, ins andere, Verzeichnis_B, kopieren und in dem anderem Verzeichnis die gezipten Dateien entpacken. Das kopieren klappt es, das entpacken nicht :-( Mein Script sieht folgend aus: 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 42 43 44 45 46 47 48 49 50 51 52 53 #!/usr/bin/perl -w use strict; use warnings; my $strVereichnis = "Verzeichnis_A"; my $strAblageVer = "Verzeichnis_B"; use Cwd; use File::Copy; # habe versucht mit Zip Module zu arbeiten, leider nicht hin bekommen :-( #use Archive::Zip; #use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); #use Compress::Raw::Zlib ; my $VerzPfad = cwd . '/'; # Verzeichnis Pfad ohne Dateinanem auslesen. # Auslesen aller zip Dateien, und NUR zip Dateien. my $result=opendir(DIR,$strVereichnis) || die $!; my @files = grep { /\.zip$/ } readdir(DIR); close DIR; # Nur kopieren foreach my $dateien ( @files ) { copy( $strVereichnis.'/'.$dateien, $strAblageVer.'/'.$dateien ); # Versuch im gleichem "Zug" die Dateien zu entpacken. #system("unzip", $VerzPfad.$strAblageVer.'/'.$dateien ); # Versuche mit Zip zu arbeiten :-( #my $zipName = shift($strAblageVer.'/'.$dateien ); #my $status = $zip->read( $strAblageVer.'/'.$dateien ); } print "\nKopierne fertig\n\n"; # Ab hier schlägt alles fehl. system("cd $VerzPfad.$strAblageVer"); # unzip "geht" nicht ins Verzeichnis_B, sondern entpackt die Dateien, ein Verzeichnis höher, # auf gleiche Ebne, auf der das Script ausgeführt wird. foreach my $dateien ( @files ) { # Zum testen den Verzeichnis Pfad ausgeben: print "::: ".$VerzPfad.$strAblageVer.'/'.$dateien."\n"; system("unzip", $VerzPfad.$strAblageVer.'/'.$dateien ); } print "\nfertig\n\n"; perl --version: This is perl 5, version 12, subversion 4 (v5.12.4) built for x86_64-linux-gnu-thread-multi (with 45 registered patches, see perl -V for more detail) Kubuntu 11.10 Kann mir jemand die korrekte Vorgehensweise beschreiben? Danke im Voraus. Grüße kalr34 Last edited: 2011-10-24 13:16:11 +0200 (CEST) |