Salve saída e código de saída do comando para arquivos no windows

3

Eu quero executar um comando e salvar sua saída e seu código de saída , em arquivos diferentes.

Veja o que estou fazendo:

cmd.exe /C command 1> %TEMP%\output.log 2> %TEMP%\error.log && echo %ERRORLEVEL% > %TEMP%\status || echo %ERRORLEVEL% > %TEMP%\status

Se eu não fizer o redirecionamento de saída (para %TEMP%\output.log e / ou %TEMP%\error.log ), o código de saída será salvo corretamente. No entanto, quando eu executar a linha como mostrado acima mais de uma vez (apenas voltar para a linha anterior no prompt de comando e executá-lo novamente), recebo 0 em %TEMP%\status independentemente do código de saída real. / p>

O que estou perdendo? Ou talvez exista uma maneira melhor de fazer isso?

    
por poncha 01.12.2012 / 23:50

1 resposta

4

O que você está fazendo não salvará o código de saída, pois você não está capturando. A maneira mais simples é executar o comando dentro de um arquivo em lotes. Redirecione a saída como normal e faça com que o arquivo em lote salve o valor ERRORLEVEL no segundo arquivo.

    
por 02.12.2012 / 05:03