Exécutez une tâche toutes les x minutes avec le Planificateur de tâches Windows [fermé]

297

J'essaie d'obtenir le Planificateur de tâches Windows pour exécuter un .exe particulier toutes les 10 minutes environ, mais les options ne permettent qu'une exécution par jour.

Existe-t-il un moyen de le faire exécuter un .exe toutes les 10 ou 20 minutes?

kacalapy
la source
6
Aussi peu intuitif que dans Windows Server 2008, vous pouvez taper un nombre dans la liste déroulante "Répéter la tâche tous les" de la boîte de dialogue "Modifier le déclencheur". J'ai également laissé un lien dans l'entrée de MorningZ ci-dessous.
David Yates
4
Google donne plusieurs réponses , dont celle de Microsoft .
Phrogz

Réponses:

395

La tâche doit être configurée en deux étapes.

Vous créez d'abord une tâche simple qui commence à 0h00, tous les jours. Ensuite, vous entrez Advanced...(ou similaire selon le système d'exploitation que vous utilisez) et sélectionnez l' Repeat every X minutesoption pendant 24 heures.

La clé ici est de trouver les propriétés avancées. Si vous utilisez l'assistant XP, il ne vous proposera de lancer la boîte de dialogue avancée qu'après avoir créé la tâche.

Sur les versions plus récentes de Windows (7+ je pense?):

  1. Double-cliquez sur la tâche et une fenêtre de propriétés apparaîtra.
  2. Cliquez sur l' Triggersonglet.
  3. Double-cliquez sur les détails du déclencheur et la fenêtre Edit Trigger apparaîtra.
  4. Sous le Advanced settingspanneau, cochez Repeat task everyxxx minutes et définissez Indefinitelysi vous en avez besoin.
  5. Enfin, cliquez sur ok.
Coincoin
la source
39
Le problème avec cette solution est que si vous redémarrez à 0h05, la tâche ne recommencera que 23h55 plus tard!
JoshuaDavid
7
Une légère variation serait de définir 24 tâches, chaque répétition pendant 1 heure. Ensuite, vous ne perdez jamais plus d'une heure de couverture
Yablargo
101
@FireCoding pas si vous avez configuré la tâche pour qu'elle s'exécute dès qu'un démarrage planifié est manqué. Sous Tâche> Propriétés> Paramètres> VérifierRun task as soon as possible after a scheduled start is missed
Urda
4
@Urda: Supposons que vous définissiez la tâche pour qu'elle commence à 0h00 et qu'elle se répète toutes les heures. Si vous allumez l'ordinateur à 06h00 et que l'option Run task as soon as possible after...est activée , cela exécutera-t-il une ou six instances de la commande?
Andreas Rejbrand
7
@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.Il devrait donc simplement démarrer 1 instance de la tâche, pas l'intégralité du backlog.
Urda
44

Après avoir sélectionné l'option de répétition minimale (5 minutes ou 10 minutes), vous pouvez mettre en surbrillance le numéro et écrire le numéro de votre choix

Durim Sinani
la source
C'est ce qui fonctionne sur Server 2012 car il n'y a pas d'option 'Advanced'. La clé sur ces plateformes est de réaliser que vous pouvez spécifier ce que vous voulez dans la boîte.
décède le
8
loin ... 0 sur 10 pour la découvrabilité dans la conception d'interface utilisateur Microsoft!
Damien Sawyer
bon à savoir, très bon à savoir :) Mais il n'y a plus de possibilité de descendre en secondes, n'est-ce pas? 1 minute, c'est le moins? Je voudrais passer à 30 voire 10 secondes ...
BAERUS
1
Ceci est un commentaire, pas une réponse.
Leo Natan
3
@LeoNatan En fait, c'était la réponse exacte que je cherchais lorsque je me suis promené dans ce post :-)
Jony Adamit
33

Vous pouvez également créer un fichier de commandes comme celui-ci si vous avez besoin d'une granularité plus fine entre les appels:

:loop
CallYour.Exe
timeout /t timeToWaitBetweenCallsInSeconds /nobreak
goto :loop
Kevin Lee
la source
3
Dans mon cas, c'était la solution la plus élégante car la tâche en question était déjà lancée à partir d'un fichier batch. Il s'agissait donc simplement d'ajouter quelques lignes. Merci!
marlar
1
J'aime cette solution. Mais comment vous assurez-vous que ce fichier batch est toujours en cours d'exécution (et une seule instance de celui-ci)?
Olivier 'Ölbaum' Scherler
C'est une façon de le faire oui, mais le Planificateur de tâches est la voie à suivre. Utilisez simplement l'option "Après le démarrage" au lieu d'une date spécifique, et vous êtes couvert.
Jakob Sternberg
J'ai toutes sortes de problèmes pour configurer une tâche à exécuter toutes les heures. Donc, j'aime cette solution pour la boucler et la laisser dormir pendant 1 heure et boucler le travail. Il suffit de comprendre comment le calendrier fonctionne avec le travail quotidien et si les tâches horaires provoquent un problème toutes les 24 heures.
Sun
23

Dans la "Répéter la tâche tous les:" tapez simplement 2 minutes au lieu de choisir dans la liste déroulante.

Henrik
la source
2
Merci. Ceci est exactement ce que je cherchais. Le temps minimum autorisé sur Win 2008 R2 est de 1 minute.
Timothy C. Quinn
19

Sur XP, j'ai cliqué sur le Advancedbouton de l' Scheduleonglet. Il y a une case à cocher pour Repeat task. La valeur par défaut est toutes les 10 minutes.

De plus, vous pouvez créer une tâche planifiée via la ligne de commande . Je n'ai pas essayé cela moi-même, mais il semble que vous souhaitiez quelque chose du genre (non testé):

schtasks /create /tn "Some task name" /tr "app.exe" /sc HOURLY 
Courtney Christensen
la source
Im confus sur les options jusqu'à. je le mets à répéter toutes les 5 minutes, disons, puis je suis obligé de choisir un bouton radio en dessous ... que dois-je entrer si je veux que ti fonctionne toutes les 5 minutes tous les jours et ne s'arrête pas.
kacalapy
Ok, tu as raison. C'est déroutant. Apparemment, vous pouvez en créer un via la ligne de commande. Peut-être que ça vaut le coup. J'ai mis à jour le message avec le lien que j'ai trouvé.
Courtney Christensen
19

Exemple de tâche horaire

Tout en suivant les conseils ci-dessus avec les schtasks, vous pouvez voir dans l'interface utilisateur ce qui doit être fait pour effectuer une tâche toutes les heures. Lorsque vous modifiez le déclencheur, commencez la tâche selon un calendrier, une fois (c'est la clé). Ensuite, vous pouvez sélectionner "Répéter la tâche toutes les:" 1 heure ou ce que vous souhaitez. Voir capture d'écran:

Mike Cush
la source
1
Et en utilisant SCHTASKS /Create?
Kiquenet
8

Pour planifier une mise à jour automatique, vous devez:

  • Accédez au Panneau de configuration »Outils d'administration» Tâches planifiées
  • Créer la tâche (de base)
  • Aller à l'annexe »Avancé
  • Cochez la case "Répéter la tâche" toutes les 10 minutes avec une durée de, par exemple 24 heures ou indéfiniment
  • Ne pas cocher la date de fin

Si vous ne trouvez pas les paramètres de planification, regardez sous: Propriétés, Modifier, Déclencheurs.

David
la source
3

Certains des liens fournis ne sont que des paramètres pour la version de Windows 2003 des «tâches planifiées»

Dans Windows Server 2008 , le "Tâches" configuration ne dispose d' une boîte avec des options pour "5 minutes, 10 minutes, 15 minutes, 30 min et 1 heure" (capture d'écran: http://i46.tinypic.com/2gwx7r8.jpg ) ... où la fenêtre 2003 était une zone de texte "entrez le numéro de votre choix".

J'ai pensé faire un "Export" et éditer le XML de: PT30M à PT2M

et l'importer comme une nouvelle tâche "tromperait" les tâches en les répétant toutes les 2 minutes, mais ça n'aimait pas ça

Ma solution de contournement pour exécuter une tâche toutes les 2 minutes dans Windows 2008 consistait à (ugggh) configurer 30 «déclencheurs» différents pour que ma tâche se répète toutes les heures mais en fixant: 00,: 02,: 04,: 06, etc., etc. sur .... m'a pris 8-10 minutes pour configurer mais je n'ai dû le faire qu'une seule fois :-)

MorningZ
la source
12
Aussi intuitif que cela puisse être, vous pouvez réellement saisir un nombre dans la liste déroulante de Windows Server 2008: social.technet.microsoft.com/Forums/en-US/winserverManagement/…
David Yates