Windows: Redirecionamento de linha de comando para arquivo de texto enquanto também vê saída

22

Estou escrevendo um programa em C no Windows, minhas chamadas printf imprimem na linha de comando e sei que posso redirecionar toda essa saída para um arquivo de texto usando:

myProgram.exe > mylog.txt

No entanto, desejo também ver a saída que seria impressa no console, bem como registrar tudo em um arquivo de texto.

Existe uma maneira de fazer isso? Eu estava pensando em usar o tail para monitorar o arquivo de log.

    
por user79397 02.05.2011 / 19:43

3 respostas

15

As janelas PowerShell têm uma ferramenta que pode fazer isso, chamada tee depois da ferramenta unix que faz o mesmo.

Como alternativa, existem portas do unix tee para windows:

por 02.05.2011 / 19:59
6

No Windows, tudo o que posso pensar é fazer isso:

myProgram.exe > mylog.txt & type mylog.txt

Isso se baseia no exemplo de comando da sua pergunta. Se, de fato, você quiser anexar a saída a mylog.txt , convém usar >> em vez de > , mas type será impresso o arquivo de log inteiro, não apenas o que foi anexado.

Se você baixar o GnuWin32 CoreUtils , você pode usar o método Unix ( tee command) para fazer isso:

myProgram.exe | tee mylog.txt

Isso gravará a saída de myProgram.exe em mylog.txt , mas também a exibirá no console ao mesmo tempo. Se você deseja anexar somente a mylog.txt , pode passar o parâmetro -a para tee.

    
por 02.05.2011 / 19:49
0

Eu uso o Código do Visual Studio e abro o arquivo de log a partir dele, ele mantém a visualização atualizada quase em tempo real, o arquivo de log muda

    
por 29.06.2016 / 15:46