Execute o script em lote mostrando a saída e a saída de gravação em um arquivo

1

Eu sei que cmd > file.txt registra uma saída de um comando em um arquivo no Windows!

Alguém sabe como executar um script em lote gravando a saída em um arquivo E também mostrando a saída no prompt de comando quando executado?

    
por user53864 23.07.2011 / 04:53

2 respostas

3

Você precisará de uma implementação baseada em Windows de tee para fazer isso. Aqui estão algumas opções:

Se você não precisa de saída in situ , você pode "trapacear" canalizando os comandos, mas isso não é tão útil quanto seguir stdout em tempo real.

cmd >file.txt | type file.txt

    
por 23.07.2011 / 05:04
2

Que tal mtee ?

mtee

Isso parece mais atraente para mim ...

script.cmd | mtee result.%date:~-4,4%%date:~-10,2%%date:~-7,2%.log

O log de resultados terá o formato YYYYMMDD .

Se você quiser incluir a hora com o registro, também pode incluir isso:

% tempo: ~ 0,2 %% tempo: ~ 3,2% ( HHmm )

p.s. Acabei de notar que, se o horário for AM, haverá um espaço no nome do arquivo, portanto, será necessário incluir o arquivo de log do mtee entre aspas duplas para gerar o nome correto do arquivo.

    
por 17.11.2012 / 03:37