Leser: 2
|< 1 2 3 >| | 23 Einträge, 3 Seiten |
Quotehat keiner eine n möglichen Lösungsansatz?
1
2
3
4
5
6
7
8
#!/usr/bin/perl -w
use strict;
use warnings;
use File::Copy;
my $dir = "f:/";
my $file = "all.txt";# aus dem aktuellen verzeichnis
my $CopyFile="$dir$file";
copy($file, $CopyFile) or die "Kopieren fehlgeschlagen: $!";
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
use Cwd;
use File::Copy;
$DST_DIR = "/home/tmarsh/.fluxbox/"; #das ist das Ziel Verzeichnis
$SRC_DIR = "/usr/portage/x11-wm/fluxbox"; #das ist das Quellverzeichnis,ab da alles kopieren
mkdir("$DST_DIR",0755) or die "kann $DST_DIR nicht erstellen: $!\n"; #legt das Zielverzeichnis an
Fluxfscan("$SRC_DIR"); #ruft die Funktion auf, und fängt in dem verzeichniss an zu arbeiten was ich übergeben habe
sub Fluxfscan {
my ($workdir) = shift; # hier wird die varaible von dem Funktionsaufruf übergeben
my ($startdir) = &cwd; #hier wird festgestellt in welchen Verzeichnis ich mich gerade in der Console befinde
chdir($workdir) or die "Kann nicht in $workdir wecheseln: $!\n"; #hier wechselt er von dem Consolen-verzeichnis ins arbeitsverzeichnis
opendir(USR,".") or die "Kann $workdir nicht öffnen: $!\n";
my @names = readdir(USR);
closedir(USR);
foreach my $name (@names) {
next if ($name eq "."); #überspringt "."
next if ($name eq ".."); # überspringt ".."
print "$name\n";
# if (-d $name) { #wenn $name ein verzeichnis ist ...
# mkdir("$DST_DIR"."$name",0755) or die "Kann $name nicht anlegen\n"; #legt er in dem DST_DIR den neuen unterverzeichnis namen an
# &Fluxfscan($SRC_DIR . $name); #hier ruft er die Funktion wiedrum auf um den inhalt des neuen DIRS festzustellen
# next;
}
copy("$name","$DST_DIR"); #kopieren der datein ins DST_DIR
}
chdir($startdir) or die "Kann nicht in $startdir wechseln: $!\n"; #wecheslt von dem workdir ins ursprüngleche consolen dir zurück
}
1
2
3
4
if (-d $name) {
mkdir("$DST_DIR"."$name",0755) or die "Kann $name nicht anlegen\n";
&Fluxfscan($name);
next;
|< 1 2 3 >| | 23 Einträge, 3 Seiten |