Estou tentando fazer com que o Agendador de tarefas do Windows execute um .exe específico a cada 10 minutos, mas as opções permitem apenas a execução uma vez por dia.
Existe uma maneira de fazê-lo executar um .exe a cada 10 ou 20 minutos?
Estou tentando fazer com que o Agendador de tarefas do Windows execute um .exe específico a cada 10 minutos, mas as opções permitem apenas a execução uma vez por dia.
Existe uma maneira de fazê-lo executar um .exe a cada 10 ou 20 minutos?
Respostas:
A tarefa deve ser configurada em duas etapas.
Primeiro, você cria uma tarefa simples que começa às 0:00 todos os dias. Em seguida, você entra Advanced...
(ou similar, dependendo do sistema operacional em que está) e seleciona a Repeat every X minutes
opção por 24 horas.
A chave aqui é encontrar as propriedades avançadas. Se você estiver usando o assistente do XP, ele oferecerá apenas o lançamento da caixa de diálogo avançada após a criação da tarefa.
Nas versões mais recentes do Windows (7+, eu acho?):
Triggers
guiaAdvanced settings
painel, marque Repeat task every
xxx minutos e defina, Indefinitely
se necessário.Run task as soon as possible after a scheduled start is missed
Run task as soon as possible after...
estiver ativada, ele executará uma ou seis instâncias do comando?
If this setting is checked, the Task Scheduler service will start the task if the task was scheduled to run at a certain time, but for some reason (for example, the computer was turned off or the Task Scheduler service was busy) the task was not activated. The Task Scheduler service will not start the task immediately after the task was missed. By default the service waits ten minutes before starting the missed task.
Portanto, ele deve iniciar apenas 1 instância da tarefa, não todo o backlog.
Depois de selecionar a opção de repetição mínima (5 minutos ou 10 minutos), você pode destacar o número e escrever o número que desejar
Você também pode criar um arquivo em lotes como o seguinte, se precisar de uma granularidade mais fina entre as chamadas:
:loop
CallYour.Exe
timeout /t timeToWaitBetweenCallsInSeconds /nobreak
goto :loop
Em "Repetir tarefa a cada:", digite 2 minutos em vez de escolher na lista suspensa.
No XP, cliquei no Advanced
botão na Schedule
guia. Há uma caixa de seleção paraRepeat task
. O padrão é a cada 10 minutos.
Além disso, você pode criar tarefas agendadas por meio da linha de comando . Eu não tentei isso sozinho, mas parece que você deseja algo do tipo (não testado):
schtasks /create /tn "Some task name" /tr "app.exe" /sc HOURLY
Ao seguir o conselho acima com schtasks, você pode ver na interface do usuário o que deve ser feito para executar uma tarefa horária. Quando você edita o gatilho, inicia a tarefa em um agendamento, Uma vez (esta é a chave). Depois, você pode selecionar "Repetir tarefa a cada:" 1 hora ou o que desejar. Veja a captura de tela:
SCHTASKS /Create
?
Para agendar a atualização para ser automática, você deve:
Se você não conseguir encontrar as configurações de agendamento, procure em: Propriedades, Editar, Acionadores.
Alguns dos links fornecidos são apenas configurações para a versão do Windows 2003 de "Tarefas agendadas"
No Windows Server 2008, a configuração "Tarefas" possui apenas uma caixa com opções para "5 minutos, 10 minutos, 15 minutos, 30 minutos e 1 hora" (captura de tela: http://i46.tinypic.com/2gwx7r8.jpg ) ... onde o Windows 2003 era uma caixa de texto "insira o número que você quiser".
Eu pensei em fazer uma "exportação" e editar o XML de: PT30M para PT2M
e importar isso como uma nova tarefa "enganaria" as tarefas a repetir a cada 2 minutos, mas não gostou disso
Minha solução alternativa para executar uma tarefa a cada 2 minutos no Windows 2008 era configurar 30 "gatilhos" diferentes para a minha tarefa, repetindo a cada hora, mas olhando para: 00,: 02,: 04,: 06 e assim por diante. em .... me levou 8-10 minutos para configurar, mas eu só tinha que fazê-lo uma vez :-)