buliwyf
Goto Top

String in TXT suchen, überprüfen und wenn noetig aendern ?

Hallo ,...schon wieder face-wink

leider gibts noch einen fehler in meinem file...
und zwar kommt der String
DTM+137:20170615:102
oefter vor. Wobei wie man sieht der Teil zwischen den doppelpunkten
das Datum des aktuellen Tages ist. YYYYMMTT.

Leider wird auch das einmal im file zerhauen... und sieht dann so aus
DTM+137:2076.15:102

Wie kann ich das pruefen und gegebenf. aendern ?
finde DTM+137: und ueberpruefe ob nach dem : das aktuelle Datum steht,
wenn nicht replace mit YYYYMMTT.... naja so stelle ich mir das vor.

Also Bibersbaum noch ne schnelle Loesung ? face-smile

Content-Key: 340744

Url: https://administrator.de/contentid/340744

Printed on: April 20, 2024 at 03:04 o'clock

Mitglied: 133417
Solution 133417 Jun 15, 2017 updated at 11:40:18 (UTC)
Goto Top
(gc 'c:\datei.txt' | out-string) -replace '(DTM\+137):[^:]*',('$1:' + (get-date -F yyyyMMdd)) | sc 'c:\datei.txt'  

Regular Expressions lernen face-smile

Gruß
Member: buliwyf
buliwyf Jun 15, 2017 updated at 11:53:32 (UTC)
Goto Top
Nein, diesmal hat es nicht geklappt. jetzt ist der string DTM+137 samt gefolge komplett verschwunden.

wenn ich anstelle des
$1
'DTM+137:' schreibe, funktioniert es.
Mitglied: 133417
133417 Jun 15, 2017 updated at 12:03:33 (UTC)
Goto Top
Nein, diesmal hat es nicht geklappt.
Doch, dann hast du eine ältere PS. Klappt hier einwandfrei, ist ja nur eine Backreference auf das erste Klammernpaar.
'DTM+137:' schreibe, funktioniert es.
Kannst du natürlich auch machen wenn du im Code es doppelt aufführen willst face-wink.
Member: buliwyf
buliwyf Jun 15, 2017 at 12:14:28 (UTC)
Goto Top
Wenn ich koennte, mir die Zeit nehmen koennte wuerde ich gern so ein Kurs, Grundkurs machen in Powershell.
Muesste allerding bei Null anfangen.

Also sollte ich die PS updaten ? Hab die PSVersion 5.1.15063.413

Trotzdem vielen Dank fuer deine Hilfe, waere sonst alles "hand" arbeit taeglich diese beiden ...dinge zu korrigieren.