我无法使用以下命令将java -version
的输出从批处理文件写入文本文件:
java -version>tmp.txt
但是,下面的工作(即数据被写入文本文件):
java>tmp.txt
命令行java -version
返回STDERR流的输出数据(而不是STDOUT)。重定向操作符>
默认使用流句柄1
,即STDOUT流。要从STDERR流中读取,需要显式地声明相应的句柄2
:
java -version 2>tmp.txt
命令行java
的行为与预期一致,因为它返回STDOUT处的输出。
详细信息请参考外部资源: