Dump conteúdo de um prompt cmd em um arquivo, a partir de um arquivo em lotes

3

Portanto, eu tenho esse arquivo em lote que é executado todas as manhãs às 7h e faz algum trabalho em um prompt de comando do Windows.

O que eu preciso que esse lote também faça é salvar a saída do trabalho de prompt do cmd que foi feito em um arquivo de texto para que eu possa ver seu status. Se o lote falhar, não é crítico, mas eu preciso saber sobre isso.

Se eu pudesse imprimir o conteúdo do prompt do cmd para um arquivo de texto ou enviar por e-mail os resultados da execução, isso seria incrível.

    
por EJC 12.10.2010 / 16:11

3 respostas

8

Você só precisa adicionar isso ao final de qualquer execução do arquivo de lote: > "c:\yourFile.txt"

(ou >> "c:\yourFile.txt" se você deseja que os resultados sejam anexados ao arquivo sem sobrescrever)

por exemplo: c:\yourBatchFile.bat >> c:\yourLogFile.txt

    
por 12.10.2010 / 16:31
7

FYI ... apenas usando o maior que o gosto nas outras respostas não irá capturar saída de erro, apenas stdout ... Assim, quaisquer erros ainda iriam para a tela de linha de comando e não para o seu arquivo de log e você ainda não seria informado de quaisquer falhas.

Para stdout e stderr você precisa desta sintaxe:

[batchFilePath] > [logFilePath] 2>&1

    
por 12.10.2010 / 18:25
2

Tente redirecionar a saída colocando ">" e um nome de arquivo após o comando agendado, como em:

C: \ MyBatchFile.bat > output.txt

Colocar dois ">", como em "> >", será anexado em vez de sobrescrever.

    
por 12.10.2010 / 16:31