Redirigir los mensajes de Error de símbolo: STDERR y STDOUT


Resumen


Al redirigir la salida de una aplicación utilizando el ">" símbolo, sigue sin imprimen mensajes de error en la pantalla. Esto es debido a que a menudo se envían mensajes de error en la secuencia de Error estándar en lugar de la secuencia de salida estándar.


Salida de un comando o una aplicación de consola (símbolo) a menudo se envía a dos secuencias independientes. El resultado normal se envía a estándar Out (STDOUT) y se envían los mensajes de error para el Error estándar (STDERR). Cuando redirige la consola de salida utilizando el ">" símbolo, sólo está redirigiendo STDOUT. Con el fin de redirigir STDERR tendrá que especificar "2 >" para el símbolo de redirección. Selecciona la segunda secuencia de salida que es STDERR.

EJEMPLO

El comando "dir file.xxx" (donde file.xxx no existe) se mostrará el siguiente resultado:
Volumen en la unidad F es el que número de serie de volumen de bastón de caramelo es 34EC-0876


Archivo no encontrado
Si se redirige la salida al dispositivo NUL mediante "dir file.xxx > nul", aún verá el mensaje de error:
Archivo no encontrado
Para redirigir el mensaje de error a NUL, utilice el comando siguiente:
   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 a un único archivo mediante el comando "& 1" para redirigir el resultado de STDERR a STDOUT y, a continuación, enviar la salida de STDOUT a un archivo:

   dir file.xxx 1> output.msg 2>&1