Redirigir mensajes de error desde el símbolo del sistema: STDERR/STDOUT
En este artículo se describe la redirección de mensajes de error desde el símbolo del sistema.
Versión original del producto: Visual C++
Número de KB original: 110930
Resumen
Al redirigir la salida desde una aplicación con el símbolo, los >
mensajes de error siguen imprimiendo en la pantalla. Esto se debe a que los mensajes de error a menudo se envían al flujo de error estándar en lugar de a la secuencia de salida estándar.
La salida de una aplicación o comando de consola (símbolo del sistema) a menudo se envía a dos secuencias independientes. La salida normal se envía a Salida estándar (STDOUT) y los mensajes de error se envían al error estándar (STDERR). Al redirigir la salida de la consola con el >
símbolo, solo se redirige STDOUT. Para redirigir STDERR, debe especificar 2>
para el símbolo de redirección. Esto selecciona el segundo flujo de salida que es STDERR.
Ejemplo
El comando dir file.xxx
(donde no existe file.xxx) mostrará la salida siguiente:
El volumen de la unidad F es el número de serie del volumen de la caña de caramelo es 34EC-0876
Archivo no encontrado
Si redirige la salida al dispositivo NUL mediante dir file.xxx > nul
, seguirá viendo el mensaje de error:
Archivo no encontrado
Para redirigir el mensaje de error a NUL, use el siguiente comando:
dir file.xxx 2> nul
O bien, puede redirigir la salida a un lugar y los errores a otro.
dir file.xxx > output.msg 2> output.err
Puede imprimir los errores y la salida estándar en un único archivo mediante el &1
comando para redirigir la salida de STDERR a STDOUT y, a continuación, enviar la salida de STDOUT a un archivo:
dir file.xxx 1> output.msg 2>&1
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de