2011-06-15 20 views
40

En un archivo .cmd estándar de Windows que puedo enviar mensajes a la salida estándar, simplemente haciendo:¿Cómo envío un mensaje a stderr desde cmd?

echo message 

¿Cómo puedo enviar un mensaje a stderr?

Ejemplo:

Digamos que tengo el guión parent.cmd que contiene:

call child.cmd 1>>stdout.log 2>>stderr.log 

y un niño que contiene:

:: Writes a message to stdout 
:: (which in the parent is piped to stdout.log) 
echo message 

:: Now I want to write a message to stderr 
:: (which in the parent is piped to stderr.log) 
??? 

Respuesta

45

Puede intentar redirigir el controlador de STDOUT al controlador STDERR. En el proceso hijo, lleve a cabo el eco con una redirección mango:

:: Writes a message to stdout 
:: (which in the parent is piped to stdout.log) 
echo message 

:: Now I want to write a message to stderr 
:: (which in the parent is piped to stderr.log) 
echo message 1>&2 

Microsoft 'splainin it

15

Trate echo message 1>&2

I' he intentado esto y parece para trabajar correctamente, incluso desde dentro de un archivo por lotes.

Cuestiones relacionadas