Thread Klappt nicht!: Ein kleines Skript, das nicht funktionie (7 answers)
Opened by Gast at 2005-06-24 15:26

Gast Gast
 2005-06-24 15:26
#55706 #55706
Ich habe ein kleines Perl-Skript auf Windows geschrieben.

Ich lerne gerade Perl, mit dem Buch In 21 Tagen Perl.

Und, die Aufgabe ist im Buch in einem Workshop gestellt, doch als ich in der Loesung sehen wollte was ich falsch gemacht hab, sah ich das die Loesung nur fuer Unix ist.

Ich soll mit der Angabe eines Verzeichnisses dieses durchsuchen und alles was aelter als 6 Monate ist in den Ordner old verschieben der gegebenenfalls erst mal erstellt wird.

Ich habe jetzt, da ich nichts hab das aelter als 6 Monate ist die Zeit auf 1 Tag gestellt.

-M ist bei Windows fuer den letzten Zugriff, ich finde das auch sinnvoller.

Hier das Skript:

Code: (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
#!/usr/bin/perl -w
# aufgabe4.pl
# Alle Dateien eines Verzeichnisses die aelter als sechs Monate sind werden in das Verzeichnis old verschoben.
#
# Version 1.02 vom 23.06.05
#
use File::Copy;

print "\n\n\nAnstatt \\ bitte / schreiben.\n\nVerzeichnis: ";chomp ($ver = <STDIN>);

@files = <$ver/*>;

for ($n = 0;$n <= $#files;$n++) {
print "\n\nMit der Datei $files[$n] wird jetzt gearbeitet.\n";
sleep 1;
if (-M $files[$n] > 1) {
if (! -d "$ver/old") {
mkdir "$ver/old";
print "\nOrdner old wurde erstellt.\n";
sleep 1;
}
[B]copy '$files[$n]', '$ver/old';[/B]
print "Die Datei $files[$n] wird kopiert nach $ver/old.\n";
sleep 1;
}
else {
print "Datei: $files[$n] ist noch aktuell.\n";
sleep 1;
}
}

print "\n\n\nBeenden mit beliebiger Taste.";<STDIN>;


Ich weiss echt nicht warum das nicht funktioniert.

View full thread Klappt nicht!: Ein kleines Skript, das nicht funktionie