PowerShell以外のコマンドからの出力を抑制しますか? 質問する

PowerShell以外のコマンドからの出力を抑制しますか? 質問する

コマンドを実行しています

hg st

次に、$LASTEXITCODE現在のディレクトリで Mercurial が使用可能かどうかを確認します。その出力は気にしないので、ユーザーに表示したくありません。

成功またはエラーのすべての出力を抑制するにはどうすればよいですか?

mercurial は PowerShell コマンドレットではないため、hg st | Out-Null機能しません。

ベストアンサー1

Out-NullPowerShell 以外のコマンドでも問題なく動作します。ただし、 の出力は抑制されずSTDERR、 のみ抑制されますSTDOUT。 の出力も抑制したい場合は、出力を にパイプする前に、STDERRそのファイル記述子を にリダイレクトする必要があります。STDOUTOut-Null

hg st 2>&1 | Out-Null

2>は、(ファイル記述子 #2)からのすべての出力をリダイレクトしますSTDERR&1リダイレクトされた出力を (ファイル記述子 #1) からの出力とマージします。結合された出力は、パイプがパイプラインの次のコマンド (この場合は)に供給できる場所STDOUTに出力されます。STDOUTSTDINOut-NullGet-Help about_Redirection詳細については。

おすすめ記事