Thread Dateien kopieren und entpacken (8 answers)
Opened by karl34 at 2011-10-24 13:07

karl34
 2011-10-25 21:40
#153559 #153559
User since
2011-10-24
5 Artikel
BenutzerIn
[default_avatar]
Hi,

habe das Problem gelöst, nur den Parameter "-d" entfernt, hier das Script:
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
#!/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";

chdir($VerzPfad.$strAblageVer) or die(qq#ERROR chdir "$VerzPfad.$strAblageVer" ($!)\n#);

foreach my $dateien ( @files )
{
    # entpacken
    system("/usr/bin/unzip", $VerzPfad.$strAblageVer.'/'.$dateien ) == 0 or die "system Fehler: $?";
    # die Zip Dateien löschen
    unlink( $VerzPfad.$strAblageVer.'/'.$dateien  );
}
print "\nfertig!\n\n";

Danke für Eure Hilfe.

Grüße
karl

View full thread Dateien kopieren und entpacken