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)
命令行java -version以STDERR流(而不是STDOUT)返回输出数据。重定向操作符默认>使用流句柄1,即STDOUT流。要从STDERR流中读取,您需要2明确声明相应的句柄:
java -version 2>tmp.txt
Run Code Online (Sandbox Code Playgroud)
命令行的java行为符合预期,因为它在STDOUT返回输出。
有关详细信息,请参考此外部资源:Redirection。