Il reindirizzamento dei messaggi di errore dal prompt dei comandi: STDERR/STDOUT


Riepilogo


Quando il reindirizzamento dell'output da un'applicazione utilizzando il ">" simboli, messaggi di errore è ancora stampare sullo schermo. Questo avviene perché spesso vengono inviati messaggi di errore nel flusso di errore Standard anziché il flusso di uscita Standard.


Output di un'applicazione console (Prompt dei comandi) o il comando viene inviato spesso a due flussi. L'output normale viene inviato a Standard Out (STDOUT) e i messaggi di errore vengono inviati per errore Standard (STDERR). Quando si reindirizza l'output utilizzando console di ">" simbolo, vengono reindirizzati solo STDOUT. Per reindirizzare STDERR, è necessario specificare "2 >" per il simbolo di reindirizzamento. Consente di selezionare il flusso di output secondo è STDERR.

ESEMPIO

Il comando "dir file.xxx" (dove file.xxx non esiste) verrà visualizzato il seguente output:
Il volume nell'unità F è numero di serie Volume di canna da zucchero candito 34EC-0876


File non trovato
Se si reindirizza l'output alla periferica NUL utilizzando "dir file.xxx > nul", verrà ancora visualizzato il messaggio di errore:
File non trovato
Per reindirizzare il messaggio di errore a NUL, utilizzare il comando seguente:
   dir file.xxx 2> nul
In alternativa, è possibile reindirizzare l'output in un'unica posizione e gli errori in un altro.
   dir file.xxx > output.msg 2> output.err
È possibile stampare gli errori e output standard in un unico file utilizzando il comando "& 1" per reindirizzare l'output di STDERR su STDOUT e quindi invia l'output di STDOUT in un file:

   dir file.xxx 1> output.msg 2>&1