Article ID: 110930
Article Last Modified on 2/20/2007
APPLIES TO
- Microsoft Windows NT Advanced Server 3.1
- Microsoft Windows NT Workstation 3.1
- Microsoft Windows NT Advanced Server 3.1
- Microsoft Windows NT Workstation 3.51
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows XP Professional
- Microsoft Windows Server 2003, Standard Edition (32-bit x86)
- Microsoft Windows 2000 Professional Edition
This article was previously published under Q110930
SUMMARY
When redirecting output from an application using the ">" symbol, error
messages still print to the screen. This is because error messages are
often sent to the Standard Error stream instead of the Standard Out stream.
Output from a console (Command Prompt) application or command is often sent
to two separate streams. The regular output is sent to Standard Out
(STDOUT) and the error messages are sent to Standard Error (STDERR). When
you redirect console output using the ">" symbol, you are only redirecting
STDOUT. In order to redirect STDERR you have to specify "2>" for the
redirection symbol. This selects the second output stream which is STDERR.
EXAMPLE
The command "dir file.xxx" (where file.xxx does not exist) will display the
following output:
Volume in drive F is Candy Cane
Volume Serial Number is 34EC-0876
File Not Found
If you redirect the output to the NUL device using "dir file.xxx > nul",
you will still see the error message:
File Not Found
To redirect the error message to NUL, use the following command:
dir file.xxx 2> nul
Or, you can redirect the output to one place, and the errors to another.
dir file.xxx > output.msg 2> output.err
You can print the errors and standard output to a single file by using the
"&1" command to redirect the output for STDERR to STDOUT and then sending
the output from STDOUT to a file:
dir file.xxx 1> output.msg 2>&1
Keywords: kbusage KB110930