2011-05-12 96 views
3

我需要输出关于java.exe版本的一些信息到文本文件。 命令提示符命令命令行输出到TXT文件(Java.exe -version)返回空白

C:\Windows\System32\Java.exe > C:\Users|txt.txt outputs everything to the correct file. 

当我尝试添加-version

C:\Windows\System32\Java.exe -version > C:\Users|txt.txt, the output text file remains blank. 

有没有办法进入一个txt文件呢?

回答

22

使用此命令行:

C:\Windows\System32\Java.exe -version 2> C:\Users\txt.txt 

(注意附加2。)

Java正在写入的版本信息,以标准误差(通道2),而不是标准输出。

+0

工作完美,谢谢 – sealz 2011-05-12 19:22:56

+2

这是为什么?我的意思是为什么输出到标准错误,而不是标准输出? – opensas 2012-01-27 02:39:33

+1

@opensas:我不知道,但是如果我不得不猜测,我会说stdout是为Java程序本身保留的,所以运行时而不是程序的任何内容都会发送到stderr。 – RichieHindle 2012-01-27 11:13:31

3

命令“java -version”将其输出打印到标准错误中。 因此,您可以使用“2>”重定向这些输出。

+0

完美的工作,谢谢 – sealz 2011-05-12 19:23:04