perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 22
Click for quality!




11.02.2012 / 20:09

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragcopy
Seitenanfang
Hallo,

ich habe folgendes Problem mit dem Modul File::Copy

in meinem Skript copiere ich Dateien von einem Verzeichnis in einem anderen.

Es sind UNC Pfade die in einer Datei stehen. Es schaut so aus:


open(FILE, "<liste.txt") || die "Datei nicht gefunden $!\n";
while (<FILE>){
$zeile=$_;
my($path, $filename) = $zeile =~ m/^(\\\\.+\\)(.+?)$/;
$path =~ s/\\+$//g;
$path =~ s/^\\+//g;
chdir ($lpath);
mkpath ($path);
copy("$zeile","$path") or die "Copy failed: $!";
}
close FILE;

Ich bekomme ständig die Meldung "Unsuccessful stat on filename containing newline at C:/Perl/lib/File/Copy.pm lin
e 92, <FILE> line 1.
Copy failed: No such file or directory at C:\Dokumente und Einstellungen\testuser\Desktop\Test\test.pl line 41, <FILE> line 1."

Line 41 ist der copy Befehl.
Wenn ich einen der UNC Pfade als $zeile declariere my $zeile="\\\\server\\share\\ordner\\file"
dann läuft der copy Befehl ohne Fehler. Das ablesen aber von der txt Datei bringt den Fehler. Ich hoffe ich konnte es verständig genug darstellen.

Kann jemand helfen? Was mach ich falsch beim syntax?

Datum: 22.01.2009-16:24

Beitragre: copy
Seitenanfang
Hallo!

Der Zeilenumbruch, mit dem die Dateipfade getrennt werden, wird mit ausgelesen. Du musst diesen also entfernen, z.B. per

chomp($zeile = $_);

Grüße, Skrilax

Datum: 22.01.2009-17:38

Beitragre: copy
Seitenanfang
Danke Skrilax für deine Antwort.

Leider funktioniert es immernoch nicht.
Spielt es eine Rolle dass am Ende jeder Zeile der liste.txt als Umbruch ein CRLN ist?

Danke noch mal für die Hilfe

Datum: 23.01.2009-10:35

Beitragre: copy
Seitenanfang
Was chomp() entfernt bestimmt die Variable $/ welche je nach System unterschiedliche (aber zum System passende) Werte enthaelt (\n, \r oder \r\n).

Datum: 23.01.2009-21:01

-






-
-