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-Key: 317155

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

Printed on: April 26, 2024 at 07:04 o'clock

Member: Kraemer
Solution Kraemer Oct 07, 2016 at 10:47:44 (UTC)
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
Member: Mars123
Mars123 Oct 07, 2016 at 10:49:39 (UTC)
Goto Top
So funktioniert es, ich danke dir vielmals! face-smile
Member: colinardo
colinardo Oct 07, 2016 updated at 11:57:07 (UTC)
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