Levent: datum bestimmen von dateien

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

  1. 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

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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 :/

      1. Hi,

        aber wie kann ich denn
        Dateien ansprechen die genau vom Vormonat sind ?

        indem Du pro Datei überprüfst, ob dies zutrifft.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. 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 ...

          zeit an dem die datei geschrieben wurde

          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 $_;
                  }
          }