Suppression de la sortie de la console dans PowerShell

j'ai un appel à GPG de la manière suivante dans un script PowerShell:

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

Je ne veux pas qu'une sortie de GPG soit visible sur la console principale lorsque j'exécute le script.

à cause de mon absence à PowerShell, je ne sais pas comment faire ça. J'ai cherché Empile Overflow et googled pour un moyen de le faire, trouvé beaucoup de façons de le faire, mais non de cela a fonctionné.

"> $null" par exemple n'a aucun effet. J'ai trouvé l' --quiet --no-verbose options pour GPG pour mettre moins de sortie dans la console, mais ce n'est pas complètement calme, et je suis sûr qu'il y a un moyen dans PowerShell aussi.

38
demandé sur Peter Mortensen 2013-09-13 11:46:54

3 réponses

essayer de rediriger la sortie comme ceci:

$key = & 'gpg' --decrypt "secret.gpg" --quiet --no-verbose >$null 2>&1
25
répondu Dave Sexton 2015-01-04 10:45:21

essayez de rediriger la sortie vers out-nul . Comme ainsi,

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

67
répondu vonPryz 2013-09-13 09:12:50

c'est une copie de cette question , avec une réponse qui contient une mesure du temps des différentes méthodes.

Conclusion: utiliser [void] ou > $null .

2
répondu Dirk 2017-05-23 10:31:34