mars123
Goto Top

Poweshell Script soll String ersetzen und die leere Zeile löschen

Guten Tag,

ich habe heute an einem Script gearbeitet, dass rekursiv mehrere Dateien nach einem String durchsucht und diesen dann löscht. Jedoch bleibt immer eine Leerzeile über und ich finde keine triviale Lösung um diese auch mit zu löschen.

Get-ChildItem -Recurse "M:\" | Foreach-Object {Get-Content $_ | out-string | Foreach-Object {$_.Replace($suchstring,"") | Set-Content -force $_ }  

Über eure Hilfe freue ich mich sehr!

Liebe Grüße,

Mars

Content-ID: 317155

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

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

Kraemer
Lösung Kraemer 07.10.2016 um 12:47:44 Uhr
Goto Top
Moin,

teste mal folgendes:

Get-ChildItem -Recurse "M:\Error.Log" | Foreach-Object {Get-Content $_ | out-string | Foreach-Object {$_.Replace(($suchstring+"`r`n"),"") | Set-Content -force $_ }  

Gruß Krämer
Mars123
Mars123 07.10.2016 um 12:49:39 Uhr
Goto Top
So funktioniert es, ich danke dir vielmals! face-smile
colinardo
colinardo 07.10.2016 aktualisiert um 13:57:07 Uhr
Goto Top
Ich würde das eher so machen denn es könnte ja sein das noch andere Zeichen nach dem String folgen.
gci "M:\Error.Log" -Recurse | ?{(gc $_.Fullname) -like "*$suchstring*"} | %{(gc $_.Fullname) | ?{$_ -notlike "*$suchstring*"} | sc $_.Fullname -Force }  
Grüße Uwe