#!/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";