取消 PowerShell 中的控制台输出

我用 PowerShell 脚本以下面的方式呼叫 GPG:

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

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

由于我在 PowerShell 上的菜鸟身份,我不知道该怎么做,我搜索了一下 StackOverflow 和谷歌找到了一个方法来做这件事,找到了很多方法来做这件事,但没有一个奏效。

例如,“ > $null”没有任何效果。我发现 GPG 的 --quiet --no-verbose选项可以减少控制台中的输出,但仍然不是完全安静的,我相信 PowerShell 中也有一种方法。

256651 次浏览

尝试将输出重定向到 无效,

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

尝试像下面这样重定向输出:

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

它是 这个问题的一个副本,其答案包含对不同方法的时间测量。

结论: 使用 [void]> $null