Verwenden Sie powershell-Cmdlet "ForEach-Object" und " ersetzen-string mit regex

Verwende ich die unten pipeline zum Lesen einer Datei und ersetzen eine Zeile in es und speichern Sie es auf eine andere Datei, aber festgestellt, dass die Strings in der Ziel-Datei wird nicht ersetzt, es ist immer noch die alte.

original Zeile : name-1a2b3c4d

neue Zeile sollte sein: - name-6a5e4r3h

(Get-Content "test1.xml") | ForEach-Object {$_ -replace '^name-.*$', "name-6a5e4r3h"} | Set-Content "test2.xml"

Alles, was fehlt denn da?

Dein code funktioniert perfekt auf PS2.0 und PS3.0
Haben Sie versucht, mithilfe von XML-parsing? Weiß nicht, ob das zutrifft, aber wenn Sie wissen, in welches element des XML-ersetzen Sie die Zeichenfolge, , kann sein "cleaner"

InformationsquelleAutor user1201530 | 2013-03-08

Schreibe einen Kommentar