Ejecute una tarea cada x minutos con el Programador de tareas de Windows [cerrado]

297

Estoy tratando de hacer que el Programador de tareas de Windows ejecute un archivo .exe en particular cada 10 minutos, pero las opciones solo permiten la ejecución una vez al día.

¿Hay alguna manera de que ejecute un .exe cada 10 o 20 minutos?

kacalapy
fuente
66
Tan poco intuitivo como lo es en Windows Server 2008, puede escribir un número en el cuadro desplegable "Repetir tarea cada" en el cuadro de diálogo "Editar disparador". También dejé un enlace en la entrada de MorningZ a continuación.
David Yates
44
Google da varias respuestas , incluida esta de Microsoft .
Phrogz

Respuestas:

395

La tarea debe configurarse en dos pasos.

Primero crea una tarea simple que comienza a las 0:00, todos los días. Luego, ingresa Advanced...(o similar, dependiendo del sistema operativo en el que se encuentre) y selecciona la Repeat every X minutesopción durante 24 horas.

La clave aquí es encontrar las propiedades avanzadas. Si está utilizando el asistente de XP, solo le ofrecerá iniciar el diálogo avanzado una vez que haya creado la tarea.

En versiones más recientes de Windows (¿7+ creo?):

  1. Haga doble clic en la tarea y aparecerá una ventana de propiedades.
  2. Haz clic en la Triggerspestaña.
  3. Haga doble clic en los detalles del disparador y aparecerá la ventana Editar disparador.
  4. Debajo del Advanced settingspanel, marque Repeat task everyxxx minutos y configúrelo Indefinitelysi lo necesita.
  5. Finalmente, haz clic en Aceptar.
Coincoin
fuente
39
¡El problema con esta solución es que si reinicia a las 0:05, la tarea no comenzará a repetirse hasta las 23:55 más tarde!
JoshuaDavid el
77
Una ligera variación sería establecer 24 tareas, cada repetición durante 1 hora. Entonces nunca pierdes más de una hora de cobertura
Yablargo
101
@FireCoding no si ha configurado la tarea para ejecutarse tan pronto como se omite un inicio programado. En Tarea> Propiedades> Configuración> ComprobarRun task as soon as possible after a scheduled start is missed
Urda
44
@Urda: Digamos que configura la tarea para que comience a las 0:00 y que se repita cada hora. Si enciende la computadora a las 06:00 y la opción Run task as soon as possible after...está activada , ¿ejecutará una o seis instancias del comando?
Andreas Rejbrand
77
@AndreasRejbrand 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.Por lo tanto, solo debe comenzar 1 instancia de la tarea, no toda la acumulación.
Urda
44

Después de seleccionar la opción de repetición mínima (5 minutos o 10 minutos), puede resaltar el número y escribir el número que desee

Durim Sinani
fuente
Esto es lo que funciona en Server 2012 ya que no hay una opción 'Avanzada'. La clave en estas plataformas es darse cuenta de que puede especificar lo que quiera en el cuadro.
decae el
8
lejos ... 0 de 10 para la capacidad de detección en el diseño de la interfaz de usuario de Microsoft!
Damien Sawyer
es bueno saberlo, es bueno saberlo :) Pero no hay más posibilidad de bajar a segundos, ¿verdad? 1 minuto es lo menos? Me gustaría ir a 30 o incluso 10 segundos ...
BAERUS
1
Este es un comentario, no una respuesta.
Leo Natan
3
@LeoNatan En realidad, esta fue la respuesta exacta que estaba buscando cuando entré en esta publicación :-)
Jony Adamit
33

También puede crear un archivo por lotes como el siguiente si necesita una granularidad más fina entre las llamadas:

:loop
CallYour.Exe
timeout /t timeToWaitBetweenCallsInSeconds /nobreak
goto :loop
Kevin Lee
fuente
3
En mi caso, esa fue la solución más elegante ya que la tarea en cuestión ya se inició desde un archivo por lotes. Así que solo era cuestión de agregar un par de líneas. ¡Gracias!
marlar
1
Me gusta esta solución Pero, ¿cómo se asegura de que este archivo por lotes siempre se esté ejecutando (y solo una instancia de él)?
Olivier 'Ölbaum' Scherler
Esta es una manera de hacerlo sí, pero el planificador de tareas es el camino a seguir. Simplemente use la opción "Después del inicio" en lugar de una fecha específica, y estará cubierto.
Jakob Sternberg
Tengo todo tipo de problemas al configurar una tarea para que se ejecute cada hora. Por lo tanto, me gusta esta solución para repetirlo y dejarlo dormir durante 1 hora y realizar el trabajo. Solo necesito averiguar cómo funciona el tiempo con el trabajo diario y si las tareas por hora causan un problema cada 24 horas.
Dom
23

En "Repetir tarea cada:" simplemente escriba 2 minutos en lugar de elegir de la lista desplegable.

Henrik
fuente
2
Gracias. Esto es exactamente lo que estaba buscando. El tiempo mínimo permitido en Win 2008 R2 es de 1 minuto.
Timothy C. Quinn el
19

En XP, hice clic en el Advancedbotón de la Schedulepestaña. Hay una casilla de verificación para Repeat task. El valor predeterminado es cada 10 minutos.

Además, puede crear tareas programadas a través de la línea de comandos . No lo he intentado yo mismo, pero parece que querrías algo similar a (no probado):

schtasks /create /tn "Some task name" /tr "app.exe" /sc HOURLY 
Courtney Christensen
fuente
Estoy confundido acerca de las opciones hasta. Lo configuré para que se repita cada 5 minutos, digamos, luego me veo obligado a elegir un botón de radio debajo de eso ... ¿qué debo ingresar si quiero que se ejecute cada 5 minutos todos los días y no se detenga?
kacalapy
Ok, tienes razon. Eso es confuso. Aparentemente puedes crear uno a través de la línea de comando. Quizás valga la pena intentarlo. He actualizado la publicación con el enlace que encontré.
Courtney Christensen
19

Ejemplo de tarea por hora

Mientras sigue los consejos anteriores con las tareas, puede ver en la interfaz de usuario lo que se debe hacer para realizar una tarea por hora. Cuando edite el disparador, comience la tarea en un horario, una vez (esta es la clave). Luego puede seleccionar "Repetir tarea cada:" 1 hora o lo que desee. Ver captura de pantalla:

Mike Cush
fuente
1
Y usando SCHTASKS /Create?
Kiquenet
8

Para programar la actualización para que sea automática, debe:

  • Vaya al Panel de control »Herramientas administrativas» Tareas programadas
  • Crear la tarea (básica)
  • Vaya a Horario »Avanzado
  • Marque la casilla "Repetir tarea" cada 10 minutos con una duración de, por ejemplo, 24 horas o indefinidamente
  • Dejar la fecha de finalización sin marcar

Si no puede encontrar la configuración de la programación, busque en: Propiedades, Editar, Disparadores.

David
fuente
3

Algunos de los enlaces provistos son solo configuraciones para la versión de Windows 2003 de "Tareas programadas"

En Windows Server 2008, la configuración de "Tareas" solo tiene un cuadro con opciones para "5 minutos, 10 minutos, 15 minutos, 30 minutos y 1 hora" (captura de pantalla: http://i46.tinypic.com/2gwx7r8.jpg ) ... donde la ventana 2003 era un cuadro de texto "ingrese el número que desee".

Pensé en hacer una "Exportación" y editar el XML de: PT30M a PT2M

e importar eso como una nueva tarea "engañaría" a Tareas para que se repitiera cada 2 minutos, pero eso no le gustó

Mi solución para ejecutar una tarea cada 2 minutos en Windows 2008 fue (ugggh) configurar 30 "disparadores" diferentes para que mi tarea se repita cada hora pero mirando: 00,: 02,: 04,: 06 y así sucesivamente, etc. en ... me tomó 8-10 minutos para configurar, pero solo tuve que hacerlo una vez :-)

MorningZ
fuente
12
Por poco intuitivo que sea, puede escribir un número en el menú desplegable de Windows Server 2008: social.technet.microsoft.com/Forums/en-US/winserverManagement/…
David Yates