Como capturar a saída do shell para o arquivo de texto?

4

No linux eu posso digitar echo "hello" >& text.output e obter saída de texto em um arquivo.

Como posso obter esse tipo de saída no Windows 8?

Existe uma maneira de identificar erros na saída?

Minha motivação é tentar registrar a saída de tracert e investigar a diferença entre o Windows 8 e o Windows 7.

    
por Mikhail 07.11.2012 / 19:28

2 respostas

6

Da mesma forma que no Linux:

echo "Hello" >text.output

Erros geralmente são impressos em stderr stream (é # 2). Você pode capturar stderr stream:

del 1.txt 2>text.output

Se o arquivo 1.txt não existir, text.output conterá Could not find 1.txt .

Você pode redirecionar stdout para stderr :

echo "Hello" 2>&1

Ou stderr a stdout :

echo "Hello" 1>&2

P.S. Não tenho certeza se seu comando funcionaria no Linux. De qualquer forma, echo "hello" >& text.output gera um erro de sintaxe: >& was unexpected at this time.

    
por 07.11.2012 / 19:32
3

O shell no Windows agora é muito semelhante ao BASH no Linux. Então você pode apenas fazer

echo "Hello" > text.txt

Ou execute seu programa e deixe a saída do sistema gravar em text.txt :

run_program > text.txt

Se você precisar rastrear o erro, use o seguinte:

run_program 2> error.txt

Mais informações e exemplos podem ser encontrados aqui. Redirecionamento de E / S

    
por 07.11.2012 / 21:14