So habe ich vor kurzem gefunden, die Notwendigkeit zu finden und zu ersetzen, mehrere Elemente innerhalb eines XML-Dokuments. Momentan habe ich den unten stehenden Code gefunden, der es mir ermöglicht, mehrere Suchen und Ersetzen durchzuführen, aber diese sind in der Powershell fest codiert.Suchen und Ersetzen vieler Elemente mit Powershell aus Daten in einer CSV, XLS oder zwei TXT-Dokumente
(get-content c:\temp\report2.xml) | foreach-object {$_ -replace "192.168.1.1", "Server1"} | foreach-object {$_ -replace "192.168.1.20", "RandomServername"} | set-content c:\temp\report3.xml
Im Idealfall statt harten den Wert Codierung ich aus einer Liste finden möchte und ersetzen, idealerweise in einem CSV oder XLSX und. Vielleicht wären zwei txt-Dateien einfacher.
Wenn es von einer CSV war, konnte es den Wert finden, um von A1 und den Wert zu finden, um es mit B1 zu ersetzen und weiter unten zu schleifen, bis die Werte leer sind.
Ich verstehe, ich müsste den Get-Content verwenden und für jeden Befehl habe ich mich nur gefragt, ob das möglich ist und wie es geht/wenn mir jemand helfen könnte.
Vielen Dank im Voraus.
SG
Hallo, auf der Oberfläche dieses, wirklich gut Stück Code sieht gut aus, in der Prüfung aber ich scheint damit zu kämpfen. Ich habe Ihren Code leicht bearbeitet, um ihn an einen XML-Code zu senden. $ replacers = Importieren-Csv c: \ temp \ ersetzenSource.csv gc c: \ temp \ aip.xml | ForEach-Object { foreach ($ r in $ ersetzern) { $ output = $ _ -replace $ r.ReplaceWhat, $ r.ReplaceTo } return $ output | Out-File c: \ temp \ report3.xml } Die Sache ist es ändert nur die letzte auf der CSV, es funktioniert aber nur für die letzte Zelle, fragte sich, ob Sie wüssten, warum das war. Danke und tolle Arbeit! :) – user3290171