Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive il reindirizzamento dei messaggi di errore dal prompt dei comandi.
Versione originale del prodotto: Visual C++
Numero KB originale: 110930
Riepilogo
Quando si reindirizza l'output da un'applicazione usando il >
simbolo, i messaggi di errore vengono ancora stampati sullo schermo. Ciò è dovuto al fatto che i messaggi di errore vengono spesso inviati al flusso di errore standard anziché al flusso Standard Out.
L'output di un'applicazione o di un comando della console (prompt dei comandi) viene spesso inviato a due flussi separati. L'output regolare viene inviato a StDOUT (Standard Out) e i messaggi di errore vengono inviati a STDERR (Standard Error). Quando si reindirizza l'output della console usando il >
simbolo , si reindirizza solo STDOUT. Per reindirizzare STDERR, è necessario specificare 2>
per il simbolo di reindirizzamento. In questo modo viene selezionato il secondo flusso di output STDERR.
Esempio
Il comando dir file.xxx
(in cui file.xxx non esiste) visualizzerà l'output seguente:
Il volume nell'unità F è Candy Cane Volume Serial Number è 34EC-0876
File non trovato
Se si reindirizza l'output al dispositivo NUL usando dir file.xxx > nul
, verrà comunque visualizzato il messaggio di errore:
File non trovato
Per reindirizzare il messaggio di errore a NUL, usare il comando seguente:
dir file.xxx 2> nul
In alternativa, è possibile reindirizzare l'output in un'unica posizione e gli errori a un altro.
dir file.xxx > output.msg 2> output.err
È possibile stampare gli errori e l'output standard in un singolo file usando il &1
comando per reindirizzare l'output per STDERR a STDOUT e quindi inviare l'output da STDOUT a un file:
dir file.xxx 1> output.msg 2>&1