Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit la redirection des messages d’erreur à partir de l’invite de commandes.
Version du produit d’origine : Visual C++
Numéro de la base de connaissances d’origine : 110930
Résumé
Lorsque vous redirigez la sortie d’une application à l’aide du >
symbole, les messages d’erreur s’impriment toujours à l’écran. Cela est dû au fait que les messages d’erreur sont souvent envoyés au flux d’erreur standard au lieu du flux Standard Out.
La sortie d’une application ou d’une commande console (invite de commandes) est souvent envoyée à deux flux distincts. La sortie régulière est envoyée à Standard Out (STDOUT) et les messages d’erreur sont envoyés à l’erreur standard (STDERR). Lorsque vous redirigez la sortie de la console à l’aide du >
symbole, vous redirigez uniquement STDOUT. Pour rediriger STDERR, vous devez spécifier 2>
le symbole de redirection. Cela sélectionne le deuxième flux de sortie qui est STDERR.
Exemple
La commande dir file.xxx
(où file.xxx n’existe pas) affiche la sortie suivante :
Le volume dans le lecteur F est Candy Cane Volume Serial Number is 34EC-0876
Fichier introuvable
Si vous redirigez la sortie vers l’appareil NUL à l’aide dir file.xxx > nul
de , le message d’erreur s’affiche toujours :
Fichier introuvable
Pour rediriger le message d’erreur vers NUL, utilisez la commande suivante :
dir file.xxx 2> nul
Vous pouvez également rediriger la sortie vers un emplacement et les erreurs vers un autre.
dir file.xxx > output.msg 2> output.err
Vous pouvez imprimer les erreurs et la sortie standard dans un fichier unique à l’aide de la &1
commande pour rediriger la sortie de STDERR vers STDOUT, puis envoyer la sortie de STDOUT à un fichier :
dir file.xxx 1> output.msg 2>&1