如何将“ java -version”的输出写入文本文件?

use*_*774 2 cmd batch-file io-redirection

我无法java -version使用以下命令将批处理文件的输出写入文本文件:

java -version>tmp.txt
Run Code Online (Sandbox Code Playgroud)

但是,以下工作(即,将数据写入文本文件):

java>tmp.txt
Run Code Online (Sandbox Code Playgroud)

asc*_*pfl 5

命令行java -versionSTDERR流(而不是STDOUT)返回输出数据。重定向操作符默认>使用流句柄1,即STDOUT流。要从STDERR流中读取,您需要2明确声明相应的句柄:

java -version 2>tmp.txt
Run Code Online (Sandbox Code Playgroud)

命令行的java行为符合预期,因为它在STDOUT返回输出

有关详细信息,请参考此外部资源:Redirection