Necesito programar una tarea de Windows para ejecutar un script cada minuto. En la mayoría de los casos, el script no necesita ejecutar nada y existe de inmediato. Cuando el script necesita ejecutar algo, quiero que comience el trabajo lo más rápido posible, por lo tanto, el intervalo de un minuto.
Ahora, la interfaz de usuario del Programador de Windows se ha vuelto bastante confusa en los últimos años, por lo que no estoy seguro de cuál es la mejor manera de ejecutar una tarea cada minuto (o 5 minutos ...) en Windows 2008 R2.
¿Es esta la mejor manera de programar una tarea en Windows cada minuto? ¿Es confiable? ¿Se inicia directamente después de reiniciar una máquina, o solo se reinicia a las 12 p.m.? Tenga en cuenta que no puedo usar / escribir una aplicación de servicio personalizada para esto, ya que necesito que sea muy portátil.
fuente
Respuestas:
Sí, este servicio se ejecutará después del reinicio, puede verificarlo en el registro de transacciones del servicio del Programador de tareas:
Si no funciona correctamente (en XP, no estoy seguro sobre el equivalente de 2008):
Documentación 2008 aquí , Documentación XP aquí
El cronograma de la tarea comienza a la hora especificada, luego se ejecuta en función de los parámetros de repetición. El tiempo de inicio puede considerarse como tiempo de "instalación de tareas", no es parte de los parámetros de repetición (excepto como un desplazamiento del temporizador). Espero que tenga sentido!
fuente
Tenía este mismo requisito. En Server 2008, puede modificar la tarea Repetir cada: menú desplegable. Por defecto, el valor más bajo es "5 minutos" , pero simplemente puede escribir "1 minuto" allí. Puede verificar esto mirando la pestaña Disparadores y viendo que dice "... repita cada 00:01:00 ..." . También puede intentar escribir "10 segundos" y recibirá un error que le indica que elija algo mayor que 1 minuto.
fuente
Puedo programar una tarea para que se repita una vez por minuto con la línea de comando "schtasks". Un ejemplo del código es:
schtasks / create / sc minute / mo 1 / tn "Nombre de tarea" / tr c: \ temp \ filename.exe
La tarea se muestra en la GUI de Windows 2008 R2 y se ejecuta una vez por minuto. La tarea debe crearse y modificarse con la utilidad de línea de comando "schtasks".
Desafortunadamente, Microsoft diseñó tontamente el programador de tareas de Windows 2008 R2, abandonando la configuración flexible que se encuentra en el Programador de tareas de Windows 2003, a favor de algunas opciones limitadas para los intervalos.
davephan
fuente
prueba esto, funcionó para mí ...
REM ================================================= ===============
REM # CUERPO PRINCIPAL
REM ================================================= ==============
if "% 1" == "" echo Uso: - C: \ scripts \ port_schtask.cmd ^ ^ &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && exit
si no existe C: \ scripts \ port.bat echo Uso: - El archivo NO existe C: \ scripts \ port.bat &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && exit
% SystemRoot% \ system32 \ schtasks / delete / tn "port.bat% 1% 2" / f
% SystemRoot% \ system32 \ schtasks / create / tr "C: \ scripts \ port.bat% 1% 2" / SC MINUTE / MO 1 / tn "port.bat% 1% 2" / RU "SYSTEM"
% SystemRoot% \ system32 \ SCHTASKS / run / TN "port.bat% 1% 2"
% SystemRoot% \ system32 \ SCHTASKS |% SystemRoot% \ system32 \ find.exe "port.bat% 1% 2"
% SystemRoot% \ system32 \ schtasks / query / TN "port.bat% 1% 2"
% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul
rem ------------------------------------------------- -----
aplausos RJB
fuente