sokratonis
Goto Top

Powershell - In Datei ersetzen

Hallo Leute,

ich bräuchte mal fix Eure Hilfe zu folgendem:

Ich erhalte Dateien mit fortlaufender Nummer:
datei_1
datei_2

Der Inhalt der Datei ist wie folgt und jede Zeile wird mit ' beendet
aaa'
bbb'
c+c+xxxxxx::0'

x ist in jeder Datei unterschiedlich

Ich möchte nun mittels Powershell die Dateien:
a) einlesen
b) den Inhalt der Zeile c+c+xxxxxx::0 ersetzen durch c+c+222222::0
c) die Datei speichern

Ist jemand von Euch so lieb mir dabei auf die Sprünge zu helfen?

Content-ID: 452725

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

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

139708
Lösung 139708 17.05.2019 aktualisiert um 12:44:52 Uhr
Goto Top
Moin.
gci 'D:\Ordner' -File | %{  
    (gc $_.Fullname) -replace "(?<=c\+c\+).*(?=::0'$)",'222222' | sc $_.Fullname  
}
Gruß w.
sokraTonis
sokraTonis 17.05.2019 um 12:38:20 Uhr
Goto Top
Hi,

danke für deine Hilfe. Ich habe es mal ein klein wenig angepasst, dann hat es funktioniert. Allerdings nur, wenn ich gci eine Datei direkt angebe (z.B. gci 'd:\daten\test.txt'). Wenn ich dort z.B. gci 'd:\daten\' eintrage, passiert gar nichts mit den Dateien.

gci 'd:\daten\' File | %{
(gc $_.Fullname) -replace "(?<=c\+c\+).*(?=::0'$)","222222'" | sc $_.Fullname
}
139708
Lösung 139708 17.05.2019 aktualisiert um 12:44:58 Uhr
Goto Top
Sorry Tippfehler, ist oben korrigiert.
sokraTonis
sokraTonis 18.05.2019 um 23:21:28 Uhr
Goto Top
Ja, so funktioniert es super. Vielen Dank.