开发者

How do I send a message to stderr from cmd?

In a standard windows .cmd file I can send messages to stdout simply by doing:

echo message

How can I send a message to stderr?

Example:

Let's开发者_StackOverflow say I have the script parent.cmd containing:

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

and a child containing:

:: 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)
???


You can try redirecting the handle of STDOUT to the handle of STDERR. In your child process, perform the echo with a handle redirect:

:: 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


Try echo message 1>&2

I've just tried this and it seems to work correctly, even from within a batch file.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜