Where-Objectコマンドレット(エイリアス:?)を利用して-notmatch演算子を使えばよい。以下は、ヒア文字列を使用して複数行からなるtemp.txtというテキストファイルを作成し、それからコメント行(以下の例では#で始まる行)と空白行を取り除いた例。
PS > @' >> # >> ABC >> >> # >> あいう >> '@ > temp.txt PS > Get-Content .\temp.txt # ABC # あいう PS > Get-Content .\temp.txt | ? {$_ -notmatch "^\s*$|^\s*#.*$"} ABC あいう
抽出された各行をさらに加工したい場合はForEach-Objectコマンドレット(エイリアス:%)を使えばよい。以下は、最後に各行の前後の空白を取り除く例。
PS > Get-Content .\temp.txt | ? {$_ -notmatch "^\s*$|^\s*#.*$"} | % {$_.Trim()}
ABC
あいう