でどこ-オブジェクトで複数の条件を使用する:は、次のテキストファイルから単語<strong>ピザ</strong>を含む行を削除するにはPowerShellの
The cat is my favorite animal. I prefer pizza to vegetables. My favorite color is blue. Tennis is the only sport I like. My favorite leisure time activity is reading books.
私は、次のコードを実行し、それが成功した二行目を削除しました。
$inputFile = "C:\Temp\Text.txt"
Get-Content $inputFile | Where-Object {$_ -notmatch 'pizza'} | Set-Content "C:\Temp\Filtered.txt"
はしかし、私は言葉ピザまたはワードスポーツのいずれかを含む行のすべての出現を削除する方法を発見していません。私はこのコードでこれをしようとしました:
$inputFile = "C:\Temp\Text.txt"
Get-Content $inputFile | Where-Object {$_ -notmatch 'pizza' -or $_ -notmatch 'sport'} | Set-Content "C:\Temp\Filtered.txt"
しかし、出力ファイルは元のものと同じではありません。
はどちらかあなたは-and'はない '' -or'使用する必要があります。それ以外の場合は、ピザとスポーツの両方のラインを除外しているだけです。 – BenH
- および - または - そして、包括的であるか、またはどちらか一方です... – tommymaynard
Where-Object {$ _ -notmatch 'pizza | sport'} 'は複数の条件にマッチするより良い方法です –