Existe uma maneira de registrar todas as saídas de um script no Agendador de Tarefas?

4

Estou agendando um script em lotes do DOS para executar o Agendador de Tarefas. Existe uma maneira de configurar a tarefa / trabalho para gravar toda a saída (produzindo saída usando comandos ECHO) em um arquivo de log? O log pode ser configurado no Agendador de Tarefas (a v1.0 está instalada).

    
por GregH 22.06.2010 / 10:44

1 resposta

6

Use um lote inicial que faz o registro

Você pode editar o script para gerar todos os resultados em um arquivo em vez da tela ou pode simplesmente criar um arquivo em lotes para executar o arquivo em lotes e agendar o outro arquivo em lotes ... (desculpe, parece confuso, eu sei) .

Basicamente, assumindo que o arquivo em lote que você executa é chamado de myscript.cmd , crie um arquivo em lote chamado myscript-logging.cmd . Nesse arquivo em lote, coloque um comando da seguinte forma:

myscript > c:\myscript.%date:~-4%%date:~4,2%%date:~7,2%.%time::=%.log 2>&1

Os itens acima devem criar um arquivo de log na raiz da unidade C: com um nome baseado na data e hora em que foram executados (para que ele nunca seja sobregravado e você tenha um log para cada vez que o script for executado) .

Exemplo

O exemplo acima, se o script foi executado às 10 da noite de 22 de junho de 2010, deve ter um nome de arquivo assim:

myscript.20100622.220000.00.log

O formato é este:

myscript.YYYYMMDD.HHMMSS.hundredths of a second.log

Cuidado: observe seu espaço em disco!

CUIDADO: isso tem o potencial de encher seu disco rígido, já que ele nunca exclui um único arquivo de log e continua adicionando arquivos.

Portanto, se você planeja usar isso por um longo tempo, deve investir esforços adicionais no monitoramento e talvez na limpeza automática do espaço em disco.

    
por 22.06.2010 / 11:08