datum bestimmen von dateien
Levent
- perl
hi
ich hab ein Verzeichnis mit Logfiles, will immer
den vorhergehenden monat, alle dateien rauskopieren,
aber vorher auch noch das passende vereichnis erstellen:
my $logfiles = glob($quellverzeichnis."/logfiles/*.log");
my $writetime = (stat($logfiles))[9];
my $month = strftime("%m", localtime $writetime);
my $year = strftime("%Y", localtime $writetime);
my $verzeichnisname = $zielverzeichnis.$month."-".$year;
ich glaube aber er nimmt immer die datei die ganz oben
steht um das datum zu bestimmen ?
gibs eine lösung ?
danke
Hi,
my $logfiles = glob($quellverzeichnis."/logfiles/*.log");
my $writetime = (stat($logfiles))[9];
ich glaube aber er nimmt immer die datei die ganz oben
steht um das datum zu bestimmen ?
schade eigentlich. Eine ordentliche Programmiersprache müsste einen Fehler ausgeben, weil Du versuchst, eine Operation, die auf einem Dateinamen stattfinden muss, auf eine Liste anzuwenden. Überlege Dir erst mal, was Du eigentlich machen möchtest, bevor Du wild drauf los programmierst - dann ergibt sich von selbst, wie Du vorgehen musst.
Cheatah
Hi,
my $logfiles = glob($quellverzeichnis."/logfiles/*.log");
my $writetime = (stat($logfiles))[9];
ich glaube aber er nimmt immer die datei die ganz oben
steht um das datum zu bestimmen ?schade eigentlich. Eine ordentliche Programmiersprache müsste einen Fehler ausgeben, weil Du versuchst, eine Operation, die auf einem Dateinamen stattfinden muss, auf eine Liste anzuwenden. Überlege Dir erst mal, was Du eigentlich machen möchtest, bevor Du wild drauf los programmierst - dann ergibt sich von selbst, wie Du vorgehen musst.
Cheatah
ok ich verstehe was du meinst.. aber wie kann ich denn
Dateien ansprechen die genau vom Vormonat sind ? das
hab ich mir schon überlegt, aber ich finde keine möglichkeit
diese dateien auszulesen und den dateinamen möchte
ich nicht auseinanderpflücken müssen :/
Hi,
aber wie kann ich denn
Dateien ansprechen die genau vom Vormonat sind ?
indem Du pro Datei überprüfst, ob dies zutrifft.
Cheatah
ich dachte ich vergleiche den heutigen monat
mit dem Monat der Dateien aus dem Verzeichnis
aber dann bekomm ich eine endlosschleife, die
mir trotzdem alles ausgibt ...
my $writetime = (stat($logfiles))[9];
my $month = strftime("%m", localtime $writetime);
my $year = strftime("%Y", localtime $writetime);
#verschieben der dateien aus dem quellverzweichnis in das zielverzeichnis
while($monat == $month && $jahr == $year){
foreach (@logfiles){
#copy($_,$verzeichnisname);
#unlink($_);
print $_;
}
}