在PowerShell中抑制控制台输出

时间:2013-09-13 07:46:55

标签: powershell output suppress-warnings verbosity

我在PowerShell脚本中以下列方式调用GPG:

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

当我运行脚本时,我不希望在主控制台上看到GPG的任何输出。

由于我在PowerShell中的无聊,我不知道该怎么做。我搜索了 Stack Overflow和google搜索的方法,找到了很多方法,但没有它的工作。

例如,“> $ null”无效。我发现GPG的--quiet --no-verbose选项可以在控制台中输出更少的输出,但它并不完全安静,我确信PowerShell中也有一种方法。

3 个答案:

答案 0 :(得分:73)

尝试将输出重定向到Out-Null。像这样,

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

答案 1 :(得分:29)

尝试重定向输出,如下所示:

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

答案 2 :(得分:4)

它是this question的副本,其答案包含不同方法的时间测量。

结论:使用[void]> $null