Redirecionamento de mensagens de erro do Prompt de Comando: STDERR/STDOUT
Este artigo descreve o redirecionamento de mensagens de erro do Prompt de Comando.
Versão original do produto: Visual C++
Número original do KB: 110930
Resumo
Ao redirecionar a saída de um aplicativo usando o símbolo, as >
mensagens de erro ainda são impressas na tela. Isso ocorre porque as mensagens de erro geralmente são enviadas para o fluxo de erro padrão em vez do fluxo Standard Out.
A saída de um aplicativo ou comando de console (Prompt de Comando) geralmente é enviada para dois fluxos separados. A saída regular é enviada para o STDOUT (Standard Out) e as mensagens de erro são enviadas para o STDERR (Erro Padrão). Quando você redireciona a saída do console usando o >
símbolo, você só está redirecionando o STDOUT. Para redirecionar o STDERR, você precisa especificar 2>
para o símbolo de redirecionamento. Isso seleciona o segundo fluxo de saída que é STDERR.
Exemplo
O comando dir file.xxx
(em que file.xxx não existe) exibirá a seguinte saída:
Volume na unidade F é Número de Série de Volume de Cana Doce é 34EC-0876
Arquivo Não Encontrado
Se você redirecionar a saída para o dispositivo NUL usando dir file.xxx > nul
, ainda verá a mensagem de erro:
Arquivo Não Encontrado
Para redirecionar a mensagem de erro para NUL, use o seguinte comando:
dir file.xxx 2> nul
Ou, você pode redirecionar a saída para um lugar e os erros para outro.
dir file.xxx > output.msg 2> output.err
Você pode imprimir os erros e a saída padrão em um único arquivo usando o &1
comando para redirecionar a saída do STDERR para STDOUT e, em seguida, enviar a saída do STDOUT para um arquivo:
dir file.xxx 1> output.msg 2>&1
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários