web-dev-qa-db-ja.com

PowerShellでコンソール出力を抑制する

PowerShellスクリプトで次の方法でGPGを呼び出しています。

$key = & 'gpg' --decrypt "secret.gpg" --quiet --no-verbose > $null

スクリプトを実行しているときに、GPGからの出力がメインコンソールに表示されないようにします。

PowerShellに慣れていないため、これを行う方法がわかりません。 Stack Overflowを検索し、それを行う方法をグーグルで検索し、多くの方法を見つけましたが、機能しませんでした。

たとえば、「> $ null」は効果がありません。 GPGの--quiet --no-verboseオプションがコンソールの出力を少なくすることがわかりましたが、それでも完全に静かではありません。PowerShellにも方法があると確信しています。

46
Dominik Antal

次のように出力をリダイレクトしてみてください。

$key = & 'gpg' --decrypt "secret.gpg" --quiet --no-verbose >$null 2>&1
29
Dave Sexton

出力を Out-Null にリダイレクトしてみてください。そのようです、

$key = & 'gpg' --decrypt "secret.gpg" --quiet --no-verbose | out-null

78
vonPryz

これは この質問 の複製であり、さまざまな方法の時間測定を含む回答があります。

結論:[void]または> $nullを使用します。

4
Dirk