如何从 cmd 向 stderr 发送消息?

问题描述 投票:0回答:2

在标准 Windows .cmd 文件中,我可以通过执行以下操作将消息发送到标准输出:

echo message

如何向 stderr 发送消息?

示例

假设我的脚本parent.cmd包含:

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

和一个包含以下内容的孩子:

:: 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)
???
batch-file cmd
2个回答
100
投票

您可以尝试将STDOUT的句柄重定向到STDERR的句柄。在您的子进程中,使用句柄重定向执行 echo:

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

微软参考资料:


27
投票

尝试

echo message 1>&2

我刚刚尝试过这个,它似乎工作正常,即使是在批处理文件中也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.