在标准 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)
???
您可以尝试将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
微软参考资料:
尝试
echo message 1>&2
我刚刚尝试过这个,它似乎工作正常,即使是在批处理文件中也是如此。