I am running a command
hg st
and then checking it\'s $LASTEXITCODE
to check for availability of mercurial in the current director
Can also do this
hg st *> $null
Powershell suppress console output
A fun thing you can do is to pipe the output to Write-Verbose, then you can still see it if you need it by running your script with the -Verbose switch.
ping -n 2 $APP 2>&1 | Write-Verbose
Out-Null
works just fine with non-PowerShell commands. However, it doesn't suppress output on STDERR
, only on STDOUT
. If you want to suppress output on STDERR
as well you have to redirect that file descriptor to STDOUT
before piping the output into Out-Null
:
hg st 2>&1 | Out-Null
2>
redirects all output from STDERR
(file descriptor #2). &1
merges the redirected output with the output from STDOUT
(file descriptor #1). The combined output is then printed to STDOUT
from where the pipe can feed it into STDIN
of the next command in the pipline (in this case Out-Null
). See Get-Help about_Redirection for further information.