title: Is there a way to redirect ONLY stderr to stdout (not combine the two) so it can be piped to other programs?
body: <p>I'm working in a Windows <code>CMD.EXE</code> environment and would like to change the output of <code>stdout</code> to match that of <code>stderr</code> so that I can pipe error messages to other programs without the intermediary of a file.</p>
  
  <p>I'm aware of the <code>2&gt;&amp;1</code> notation, but that combines <code>stdout</code> and <code>stderr</code> into a single stream.</p>
  
  <p>What I'm thinking of would be something like this:</p>
  
  <pre><code>program.exe 2&gt;&amp;1 | find " "
  </code></pre>
  
  <p>But that combines stdout and stderr just like:</p>
  
  <pre><code>program.exe | find " " 2&gt;&amp;1
  </code></pre>
  
  <p>I realize that I could do...</p>
  
  <pre><code>program 2&gt;file
  type file | find " "
  del file
  </code></pre>
  
  <p>But this does not have the flexibility and power of a <code>program | find " "</code> sort of notation. Doing this requires that <code>program</code> has finished with its output before that output can be processed.</p>