Daten aus einer Textdatei löschen die älter als 24 Stunden sind
Hallo zusammen
Ich möchte gerne das alle was über 24 Stunden in einer Textdatei ist gelöscht wird. Name der Textdatei: Auswertung.txt
Ich erzeuge mit einem Programm eine Textdatei. Da werden in sporadischen Abständen Sachen rein geschrieben, unter andem auch ein Zeitstempel: ( 20150901_045221 )
siehe Beispiel: steht ziemlich in der mitte
1_465_C01_065, 1065557010211022, 20150901_045221, P7,M02,2421,SP_42,outOfLimit,Serie
1_465_C01_065, 1065557010212021, 20150901_045346, P2,M02,2411,SP_43,outOfLimit,Serie
1_465_C01_068, 1068557010185062, 20150901_053521, P2,M06,6812,SP_42,inTolerance,Serie
1_465_C01_068, 1068557010190061, 20150901_055459, P9,M06,6882,SP_43,inTolerance,Serie
Jetzt möchte ich , das jede Zeile die älter als 24 Stunden ist gelöscht wird.
also ist das immer die erste die Oben steht, weil das immer die älteste drin steht.
Die neuen Dateien die kommen werden unten dazugefügt.
Gibt es eine Möglichkeit mit einer Batch oder etwas ähnlichen der mir das automatisch macht.
Danke
Ich möchte gerne das alle was über 24 Stunden in einer Textdatei ist gelöscht wird. Name der Textdatei: Auswertung.txt
Ich erzeuge mit einem Programm eine Textdatei. Da werden in sporadischen Abständen Sachen rein geschrieben, unter andem auch ein Zeitstempel: ( 20150901_045221 )
siehe Beispiel: steht ziemlich in der mitte
1_465_C01_065, 1065557010211022, 20150901_045221, P7,M02,2421,SP_42,outOfLimit,Serie
1_465_C01_065, 1065557010212021, 20150901_045346, P2,M02,2411,SP_43,outOfLimit,Serie
1_465_C01_068, 1068557010185062, 20150901_053521, P2,M06,6812,SP_42,inTolerance,Serie
1_465_C01_068, 1068557010190061, 20150901_055459, P9,M06,6882,SP_43,inTolerance,Serie
Jetzt möchte ich , das jede Zeile die älter als 24 Stunden ist gelöscht wird.
also ist das immer die erste die Oben steht, weil das immer die älteste drin steht.
Die neuen Dateien die kommen werden unten dazugefügt.
Gibt es eine Möglichkeit mit einer Batch oder etwas ähnlichen der mir das automatisch macht.
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 283125
Url: https://administrator.de/forum/daten-aus-einer-textdatei-loeschen-die-aelter-als-24-stunden-sind-283125.html
Ausgedruckt am: 07.06.2025 um 16:06 Uhr
7 Kommentare
Neuester Kommentar

Moin,
mit Powershell kein Problem:
Gruß jodel32
mit Powershell kein Problem:
$path = 'c:\Auswertung.txt'
(gc $path) | ?{(Get-Date ($_ -replace '.*,\s*(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2}),.*','$3.$2.$1 $4:$5:$6')) -ge (get-date).AddHours(-24)} | set-content $path

Zitat von @Enno13:
Habe es gerade in Powershell eingegeben , aber er läuft nicht, oder besser er löscht nix
Ich hatte es kurz vor deiner Antwort noch nachkorrigiert.Habe es gerade in Powershell eingegeben , aber er läuft nicht, oder besser er löscht nix
Läuft hier perfekt ...

Zitat von @Enno13:
DANKE es Läuft
Super. und die Steuer ich dann einfach jede Stunde mit einer Batch an das sie ausgefürt wird.
Wenn du willst lässt sich das auch direkt in eine Batch einbauen...DANKE es Läuft
Super. und die Steuer ich dann einfach jede Stunde mit einer Batch an das sie ausgefürt wird.

Powershell in Batch eingebaut
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen.
Gruß und schönen Arbeitstag
jodel32
@echo off
set "pfad=C:\Auswertung.txt"
powershell -ExecutionPolicy ByPass -Command "&{(gc '%pfad%') | ?{(Get-Date ($_ -replace '.*,\s*(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2}),.*','$3.$2.$1 $4:$5:$6')) -ge (get-date).AddHours(-24)} | set-content '%pfad%'}"
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen.
Gruß und schönen Arbeitstag
jodel32