geretcondit
Goto Top

Mit PowerShell mehrere Sonderzeichen aus einer XML datei entfernen

Hallo meine Lieben mit Administratoren,

ich musste vor kurzem ein kleines PowerShell Script verfassen um ein bestimmtes Sonderzeichen aus XML Dateien raus zu Filtern, dies Funktioniert mit dem Gewählten Zeichen auch sehr gut.

Nun spuckt das Programm was den Fehler verursacht neuerdings aber mehr als eine Art Sonderzeichen aus und meine Modifikationsversuche schlagen leider nach dem ersten Befehl immer wieder Fehl, zusätzlich musste ich auch feststellen das einige andere Sonderzeichen wie “?“ oder “*“ auch einen Fehler auslösen.(Regex ?)

Ich wäre sehr dankbar für jeden Modifizierungsvorschlag um eines oder gar beide der Probleme zu lösen.

Get-ChildItem "C:\Users\username\Desktop\Ordner" | `  
Foreach-Object{
    $content = Get-Content $_.FullName
    
    $content | Foreach-Object {$_ -Replace "_", ""}| Set-Content $_.FullName  
   

    }



MFG
GeretCondit

Content-ID: 280080

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

Ausgedruckt am: 24.11.2024 um 05:11 Uhr

114757
Lösung 114757 13.08.2015 aktualisiert um 14:11:12 Uhr
Goto Top
Moin,
wie du schon richtig vermutet hast, wird bei -replace der erste Parameter als Regular Expression interpretiert. Dabei sind viele Sonderzeichen wenn sie denn selber in der Textdatei ersetzt werden sollen zu Escapen. Das macht man mit einem Backslash vor dem Sonderzeichen. Ein Fragezeichen und der Stern sind ja spezielle Zeichen die in Regex eine spezielle Bedeutung haben. Um gleich mehrere Zeichen zu ersetzen macht man das dann so
gci "C:\Users\username\Desktop\Ordner" -Filter *.xml | %{  
    (Get-Content $_.FullName) -Replace '[_\?\*]', '' | Set-Content $_.FullName  
}
Das haben wir dir aber auch schon mal hier verklickert: face-wink
Power Shell Script Soll nach Suchbegriffen Zeilen aus einer Datei Filtern, aber mein Suchbegriff zeigt keine Wirkung

Dir sei mal folgendes Tutorial dringend empfohlen: Tutorial Reguläre Ausdrücke

Gruß jodel32
GeretCondit
GeretCondit 13.08.2015 aktualisiert um 14:12:32 Uhr
Goto Top
Vielen dank das hat mir sehr geholfen.

Funktioniert Perfekt. Wer hätte gedacht das der "\" einem mal wieder denn Hintern rettet.

Beim Letzten mal hat das mit dem Regex aber noch anders ausgehsehen xD

Ich werde mir das Tutorial auf jeden fall mal ansehen danke auch dafür.


Mit freundlichen Grüßen
GeretCondit