Schrift
[thread]7111[/thread]

Dateien kopieren



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Spider-Mann
 2005-07-06 07:08
#56027 #56027
User since
2005-07-06
23 Artikel
BenutzerIn
[default_avatar]
Hallo,ich möchte Dateien in einen Zielordner kopieren, wenn es sie dort noch nicht gibt.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use strict;
use warnings;
use diagnostics;
use File::Copy;

my $htmldir = "C:/wwwRoot/Stats/";

opendir (IMAGES, "Images");
foreach (readdir IMAGES) {
unless (-e $htmldir . $_) {
copy $_, $htmldir;
}
}
closedir IMAGES;

Hiermit erkenne ich zwar wenn eine Datei fehlt, aber sie wird nicht kopiert.\n\n

<!--EDIT|Spider-Mann|1120619333-->
renee
 2005-07-06 13:33
#56028 #56028
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use strict;
use warnings;
use diagnostics;
use File::Copy;

my $htmldir = "C:/wwwRoot/Stats/";
my $sourcedir = "Images";

opendir (IMAGES, $sourcedir) or die $!;
foreach (readdir IMAGES) {
unless (-e $htmldir . $_) {
copy $sourcedir.'/'.$_, $htmldir;
}
}
closedir IMAGES;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Spider-Mann
 2005-07-06 15:12
#56029 #56029
User since
2005-07-06
23 Artikel
BenutzerIn
[default_avatar]
Danke.
Und warum hab ich das nicht selbst gesehen? :p
renee
 2005-07-06 15:53
#56030 #56030
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Brille vergessen?? ;)

Sowas übersieht man gerne mal...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strat
 2005-07-06 15:59
#56031 #56031
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
nebenbei: copy liefert einen returncode zurueck, der aussagt, ob das kopieren erfolgreich war oder nicht, und setzt auch die Variable $!
Wenn du da diesen returncode abgefragt haettest, haette perl dir gesagt, was schiefgegangen ist... z.B.
Code: (dl )
1
2
copy $sourcedir.'/'.$_, $htmldir or
die "Error in copying '$sourcedir/$_' to '$htmldir': $!\n";
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Spider-Mann
 2005-07-06 18:13
#56032 #56032
User since
2005-07-06
23 Artikel
BenutzerIn
[default_avatar]
Woher weißt du, daß ich eine Brille trage?
Ok, ich habe meinen Testcode mal so geändert:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use strict;
use warnings;
use diagnostics;
use File::Copy;

my $htmldir = "C:/wwwRoot/Stats/";

opendir (IMAGES, "Images");
foreach (readdir IMAGES) {
unless (-e $htmldir . $_) {
copy $_, $htmldir or die "Error in copying: $!\n";
}
}
closedir IMAGES;

Und das ist die Meldung, die ich dann bekomme:
Code: (dl )
1
2
3
Uncaught exception from user code:
Error in copying:
at test.pl line 11

Line 11 ist die copy-Zeile. Die Meldung hätte mir leider nichts gesagt.\n\n

<!--EDIT|Spider-Mann|1120659286-->
Strat
 2005-07-06 19:10
#56033 #56033
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
komisch; bei mir kommt ordnungsgemaess:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
C:\test>perl -MFile::Copy -e "copy('x', 'y') or die $!"
No such file or directory at -e line 1.

C:\test>perl -MFile::Copy -e "print $File::Copy::VERSION"
2.07

C:\test>perl -v

This is perl, v5.8.3 built for MSWin32-x86-multi-thread
(with 8 registered patches, see perl -V for more detail)
...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2005-07-06 19:12
#56034 #56034
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
jetzt verstehe ich die meldung:
Code: (dl )
1
2
3
C:\test>perl -MFile::Copy -e "use diagnostics; copy('x', 'y') or die qq~$!~"
Uncaught exception from user code:
       No such file or directory at -e line 1.

die "uncaught exception" kommt anscheinend von diagnostics...\n\n

<!--EDIT|Strat|1120662845-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Spider-Mann
 2005-07-06 20:48
#56035 #56035
User since
2005-07-06
23 Artikel
BenutzerIn
[default_avatar]
Stimmt, wenn ich "use diagnostics;" auskommentiere bekomme ich nur noch "Error in copying:", aber auch kein "No such file or directory".

C:\>perl -v

This is perl, v5.8.7 built for MSWin32-x86-multi-thread
(with 7 registered patches, see perl -V for more detail)
Spider-Mann
 2005-07-06 20:57
#56036 #56036
User since
2005-07-06
23 Artikel
BenutzerIn
[default_avatar]
Seltsam, wenn ich deine Zeilen von oben eingebe bekomme ich ein "No such file or directory", aber im Script ist $! scheinbar leer.
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2005-07-06 07:08.