Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Alte Dateien um Mitternacht verschieben (https://www.delphipraxis.net/210511-alte-dateien-um-mitternacht-verschieben.html)

ernschd 5. Mai 2022 11:43

Alte Dateien um Mitternacht verschieben
 
Hallo zusammen,

ich habe eine Logdatei mit dem aktuellen Datum im Dateinamen, in die per Append geschrieben wird. Somit habe ich täglich eine neue Datei.
Nun suche ich eine Möglichkeit, wie ich evtl. alte Dateien in ein anderes Verzeichnis verschieben kann. Wenn z.B. am 04.05. um Mitternacht die neue Datei 05.05. erstellt wird, soll die vom 04.05. verschoben werden. Gilt auch für ältere vorhandene.
Natürlich kann ich einen Timer laufen lassen, der regelmäßig prüft, ob es ältere Dateien gibt. Finde ich aber nicht so toll.
Dann könnte ich bei jedem Schreiben in die Datei diese Prüfung einbauen - auch eher mäßig gut.

Hat jemand eine Idee, wie ich dieses Problem einfach und effektiv lösen kann?

Vielen Dank im Voraus.

DeddyH 5. Mai 2022 11:50

AW: Alte Dateien um Mitternacht verschieben
 
Schreib Dir doch ein kleines Programm oder eine Batch-Datei, die das Verschieben übernimmt und starte das dann per geplantem Task um Mitternacht.

Der schöne Günther 5. Mai 2022 11:53

AW: Alte Dateien um Mitternacht verschieben
 
Zitat:

Zitat von ernschd (Beitrag 1505459)
Dann könnte ich bei jedem Schreiben in die Datei diese Prüfung einbauen - auch eher mäßig gut.

Das hätte ich jetzt als genau die richtige Stelle empfunden 🤷

KodeZwerg 5. Mai 2022 12:35

AW: Alte Dateien um Mitternacht verschieben
 
Zitat:

Zitat von ernschd (Beitrag 1505459)
ich habe eine Logdatei mit dem aktuellen Datum im Dateinamen

Oder prüfe ob diese Datei neu generiert werden muss, dann weißt Du doch ob Du was altes zum verschieben hast.

Delbor 5. Mai 2022 12:55

AW: Alte Dateien um Mitternacht verschieben
 
Hi ernschd

Wieso überhaupt eine bestehende Datei in ein anderes Verzeichnis verschieben? Schreib dir eine Klasse, die den Speichervorgang übernimmt und dabei prüft, ob die aktuelle Zeit kleiner als 23:59:59 ist. Wenn ja, wird ins aktuelle (Unter-)Verzeichnis geschrieben, wenn nein, wird ein neues solches angelegt.

Gruss
Delbor

shebang 5. Mai 2022 13:08

AW: Alte Dateien um Mitternacht verschieben
 
Wie KodeZwerg schon schrieb, die Stelle an der du überprüfst, ob die Datei mit dem aktuellen Datum schon existiert und du sie ggf. mit einem Header erstellst, wäre genau die richtige um die alten Dateien zu verschieben.
Delphi-Quellcode:
if not TFile.Exists(filename) then begin
  content := 'header' + sLineBreak;
  TFile.AppendAllText(filename, content);
  ManageFiles();
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz