Windows: Determinando de qual saída do console do fluxo de saída (1-9) está vindo?

4

Já vi perguntas no passado sobre "destacar" diferentes fluxos de saída entre STDOUT e STDERR, mas fiquei me perguntando se talvez houvesse uma maneira mais simples de fazer isso no Windows.

O motivo pelo qual me interessei foi porque tive mais de uma saída de impressão de aplicativo nos fluxos 3 & 4, o que levou a resultados confusos & depuração desnecessária até que eu verifiquei aleatoriamente todos os fluxos de saída possíveis.

Alguém tem uma boa solução interna para determinar qual saída do console do fluxo de saída está vindo? Eu imagino que deveria ser algum tipo de monitor (SysInternals? WMI?) Que mostraria de onde as informações sendo impressas no console estão vindo?

    
por Coruscate5 30.08.2016 / 20:52

1 resposta

1

Does anyone have a good built-in solution for determining which output stream console output is coming from?

Você pode simplesmente usar a sintaxe Redirecionamento para ver STDOUT versus STDERR para separar arquivos . No exemplo abaixo, o arquivo A conteria STDOUT, em que fileB conteria STDERR.

Exemplo: command >> fileA 2>> fileB Redirect output and errors to separate files

STDIN  = 0 Keyboard input 
STDOUT = 1 Text output 
STDERR = 2 Error text output 
UNDEFINED = 3-9

 command 2> filename       Redirect any error message into a file   
 command 2>> filename      Append any error message into a file  
(command)2> filename       Redirect any CMD.exe error into a file   
 command > file 2>&1       Redirect errors and output to one file       
 command > fileA 2> fileB  Redirect output and errors to separate files

source

Mais recursos

por 31.08.2016 / 14:12