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-ID: 340744

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

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

133417
Lösung 133417 15.06.2017 aktualisiert um 13:40:18 Uhr
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ß
buliwyf
buliwyf 15.06.2017 aktualisiert um 13:53:32 Uhr
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.
133417
133417 15.06.2017 aktualisiert um 14:03:33 Uhr
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.
buliwyf
buliwyf 15.06.2017 um 14:14:28 Uhr
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.