4

I need to output some information regarding the java.exe verison to a text file. The command prompt command

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

When I try to add the -version

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

Is there a way to get this into a txt file?

Shamim Hafiz - MSFT
  • 21,454
  • 43
  • 116
  • 176
sealz
  • 5,348
  • 5
  • 40
  • 70

2 Answers2

25

Use this command line instead:

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

(note the additional 2.)

Java is writing the version information to standard error (channel 2) rather than standard output.

RichieHindle
  • 272,464
  • 47
  • 358
  • 399
  • 2
    why is that? I mean why the output goes to standard error rather than standard output??? – opensas Jan 27 '12 at 02:39
  • 1
    @opensas: I don't know, but if I had to guess I'd say that stdout is reserved for the Java program itself, so anything from the runtime rather than the program goes to stderr. – RichieHindle Jan 27 '12 at 11:13
3

The command "java -version" prints its outputs into the standard error. So, you can redirect those outputs using "2>".

cocoatomo
  • 5,432
  • 2
  • 14
  • 12