Use Handler Numbers with <, >, >>

Q

How to use input and output stream handler numbers with <, >, and >> redirections?

✍: FYIcenter.com

A

When <, >, and >> redirections are used without handler numbers, a default input or output stream is used as described below:

<   Redirects handler 0 (STDIN)
>   Redirects handler 1 (STDOUT)
>>  Redirects handler 1 (STDOUT) as append

But you can change the default handler number by providing the handler number before the redirection operator. For example:

0<   Redirects handler 0 (STDIN)
1>   Redirects handler 1 (STDOUT)
2>   Redirects handler 2 (STDERR)
1>>  Redirects handler 1 (STDOUT) as append
2>>  Redirects handler 2 (STDERR) as append

For example, the "dir junk" command writes current directory information to handler 1 (STDOUT) and an error message to handler 2 (STDERR). By default, both handlers 1 and 2 are mapped to the screen:

C:\fyicenter>dir junk
 
Directory of C:\fyicenter
   (Info from handler 1 (STDIN)

File Not Found
   (Error from handler 2 (STDERR)

But you can redirect them separately as shown below:

C:\fyicenter>dir junk 1> info.txt 2>error.txt

C:\fyicenter>type info.txt
Directory of C:\fyicenter

C:\fyicenter>type error.txt
File Not Found

 

Combine Output Streams with >&

Input and Output Stream Handler Numbers

Windows Command Syntax

⇑⇑ Windows Batch File Tutorials

2017-12-05, 143👍, 0💬