PowerShell mehrere Wörter suchen und ganze Zeile löschen
Guten Tag,
ich möchte mehrere Zeilen in einer Textdatei löschen lassen, wo bestimmte Wörter enthalten sind.
Beispiel:
und als Ausgabe sollte es dann so aussehen:
Ich schaffe es bisher nur das ganze mit einem Wort zu machen:
Sobald ich das zweite Wort mit einfüge wird nichts mehr gelöscht.
Würde mich freuen, wenn mir jemand behilflich sein könnte
ich möchte mehrere Zeilen in einer Textdatei löschen lassen, wo bestimmte Wörter enthalten sind.
Beispiel:
Gras
Baum
Wolken
Erde
Gras
Wolken
Ich schaffe es bisher nur das ganze mit einem Wort zu machen:
clear-Host
$file = Get-Content .\Test.txt
$Wort1 = '*Baum*'
$Wort2 = '*Erde*'
$str | out-file .\Test-Output.txt
foreach ($str in $file)
{
if ($str -like ($Wort1))
{
} else {
$str | out-file .\Test-Output.txt -append
}
}
Würde mich freuen, wenn mir jemand behilflich sein könnte
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 665767
Url: https://administrator.de/forum/powershell-mehrere-woerter-suchen-und-ganze-zeile-loeschen-665767.html
Ausgedruckt am: 08.04.2025 um 13:04 Uhr
5 Kommentare
Neuester Kommentar

$words = 'Baum','Erde'
$filter = ($words | %{[regex]::Escape($_)}) -join '|'
gc .\Test.txt | ?{$_ -notmatch $filter} | sc .\test-output.txt
Gruß w.

Alternativ zu oben kannst du es auch einfach mit Select-String machen das macht es noch kürzer und übersichtlicher
sls .\test.txt -Pattern 'Baum','Erde' -SimpleMatch -NotMatch | select -Expand Line | sc .\test-output.txt