Planifier la tâche Windows chaque minute

13

J'ai besoin de planifier une tâche Windows pour exécuter un script toutes les minutes. Dans la plupart des cas, le script n'a besoin de rien exécuter et existe immédiatement. Lorsque le script doit exécuter quelque chose, je veux qu'il démarre le travail le plus rapidement possible, donc l'intervalle d'une minute.

Maintenant, l'interface utilisateur du planificateur Windows est devenue assez déroutante ces dernières années, donc je ne sais pas quelle est la meilleure façon d'exécuter une tâche toutes les minutes (ou 5 minutes ..) sur Windows 2008 R2.

Est-ce le meilleur moyen de planifier une tâche sous Windows toutes les minutes? Est-ce fiable? Est-ce qu'il démarre directement après le redémarrage d'une machine, ou est-ce seulement redémarré à 12h? Veuillez noter que je ne peux pas utiliser / écrire une application de service personnalisée pour cela, car j'ai besoin qu'elle soit très portable.

Dennis G.
la source
Non, ce n'est pas la meilleure façon. Vous devez utiliser une fonction sleep ou wait dans votre script.
Joseph Kern

Réponses:

4

Oui, ce service s'exécutera après le redémarrage, vous pouvez le vérifier dans le journal des transactions du service Planificateur de tâches:

    Systemroot \ SchedLgU.txt

    (où Systemroot est votre dossier d'installation Windows)

Si cela ne fonctionne pas correctement (sous XP, vous n'êtes pas sûr de l'équivalent de 2008):

    
    Panneau de configuration -> Outils d'administration -> Services -> Planificateur de tâches 

    Réglez sur auto. 

Documentation 2008 ici , Documentation XP ici

La planification de la tâche commence à l'heure spécifiée, après quoi elle s'exécute en fonction des paramètres de répétition. L'heure de début peut être considérée comme une heure "d'installation de la tâche", elle ne fait pas partie des paramètres de répétition (sauf comme décalage de temporisation). J'espère que cela a du sens!

Andy
la source
En fait, je voulais dire que si la machine est redémarrée, la tâche est-elle déclenchée à nouveau directement après le redémarrage ou n'est-elle redémarrée qu'à 12 heures, comme spécifié dans l'interface graphique? J'ai besoin que la tâche s'exécute toutes les minutes, quel que soit le redémarrage de la machine, etc.
Dennis G.
Et, comment puis-je même si une tâche a été exécutée? Est-il enregistré quelque part dans le journal des événements? Je n'arrive pas à trouver d'entrées de journal. Merci.
Dennis G.
Réponse mise à jour pour clarification
Andy
18

J'avais cette même exigence. Dans Server 2008, vous pouvez réellement modifier la tâche Répéter chaque: liste déroulante. Par défaut, la valeur la plus basse est "5 minutes" , mais vous pouvez simplement taper "1 minute" . Vous pouvez le vérifier en regardant l' onglet Déclencheurs et en voyant qu'il dit "... répétez tous les 00:01:00 ..." . Vous pouvez également essayer de taper "10 secondes" et vous obtiendrez une erreur vous indiquant de choisir quelque chose de plus d'une minute.

coryvb123
la source
3
C'était la partie de la question qui m'intéressait. Je peux confirmer que cela fonctionne toujours en 2012 R2.
Melikoth
8

Je suis en mesure de planifier une tâche à répéter une fois par minute avec la ligne de commande "schtasks". Un exemple du code est:

schtasks / create / sc minute / mo 1 / tn "Nom de tâche" / tr c: \ temp \ filename.exe

La tâche s'affiche dans l'interface graphique de Windows 2008 R2 et s'exécute une fois par minute. La tâche doit être créée et modifiée avec l'utilitaire de ligne de commande "schtasks".

Malheureusement, Microsoft a stupidement conçu le planificateur de tâches de Windows 2008 R2, abandonnant la configuration flexible trouvée dans le Planificateur de tâches de Windows 2003, au profit de quelques choix limités pour les intervalles.

davephan

davephan
la source
Cela fonctionne sur Win7. Merci.
Vladimir Vukanac
-1

essayez ceci, travaillé pour moi ...

REM ================================================= ===============

REM # MAINBODY

REM ================================================= ==============

si "% 1" == "" echo Utilisation: - C: \ scripts \ port_schtask.cmd ^ ^ &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && exit

s'il n'existe pas C: \ scripts \ port.bat echo Utilisation: - Le fichier n'existe PAS 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 ------------------------------------------------- -----

cheers RJB

RJB
la source
Pourquoi effectuez-vous des actions non pertinentes comme un ping sur localhost?
tu-Reinstate Monica-dor duh