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
Please also mark the comments that contributed to the solution of the article
Content-Key: 283125
Url: https://administrator.de/contentid/283125
Printed on: April 24, 2024 at 00:04 o'clock
7 Comments
Latest comment
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