Supprimer la sortie de non-commandes PowerShell?
Je suis en cours d'exécution d'une commande
hg st
et puis de vérifier, c'est $LASTEXITCODE
pour vérifier la disponibilité de mercurial dans le répertoire courant. Je ne m'inquiète pas à propos de sa sortie et ne veulent pas le montrer à mes utilisateurs.
Comment puis-je supprimer TOUTES les données de sortie, d'erreur ou de réussite?
Depuis mercurial n'est pas une PowerShell commandlet hg st | Out-Null
ne fonctionne pas.
Vous devez vous connecter pour publier un commentaire.
Out-Null
fonctionne très bien avec les commandes PowerShell. Cependant, il n'est pas de supprimer la sortie surSTDERR
, seulement surSTDOUT
. Si vous souhaitez supprimer la sortie surSTDERR
ainsi, vous devez rediriger le fichier descripteur deSTDOUT
avant la tuyauterie de la sortie enOut-Null
:2>
redirige toute sortie deSTDERR
(descripteur de fichier n ° 2).&1
fusionne la redirection de la sortie avec la sortie deSTDOUT
(descripteur de fichier n ° 1). La puissance combinée est alors imprimé àSTDOUT
d'où la tuyauterie d'alimentation enSTDIN
de la commande suivante dans le pipline (dans ce casOut-Null
). VoirGet-Help about_Redirection
pour de plus amples informations.2>&1
syntaxe signifie réellement?2>&1
signifie "rediriger l'erreur standard à la même place que la sortie standard."Une chose amusante que vous pouvez faire est de rediriger la sortie d'Écrire-Verbose, alors vous pouvez toujours le voir si vous en avez besoin par l'exécution de votre script avec l'option-Verbose commutateur.
Pouvez également le faire
Powershell supprimer la sortie de la console
hg
n'est pas installé*>
opérateur de redirection n'est pas disponible avant PowerShell v3.