Tache planifiée en ligne de commande

LucasCabley Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
LucasCabley Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Je cherche a créer une tache planifiée via l'invite de commande windows

La tache doit se lancer tous les jours entre 8h00 et 19h00 et toutes les 2 heures. 

Problème, via l'interface de création de tache planifiées windows, tout est ok j'arrive à créer ma tâche sans problème mais en passant par l'invite de commande, je ne peux jamais dire que je veux répéter ma tache tous les jours. 

Si je choisi que la tâche doit se faire toutes les 2 heures (HOURLY)  alors elle ne s'exécuter qu'un jour. mais si je choisi tous les jours (DAILY) alors je ne peux plus la paramétrer toutes les 2heures

Voici l'export xml de la tache qui lui est correct :

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2022-09-28T09:20:35</Date>
    <Author>TEST</Author>
    <URI>\MATACHE</URI>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <Repetition>
        <Interval>PT2H</Interval>
        <Duration>PT10H</Duration>
        <StopAtDurationEnd>false</StopAtDurationEnd>
      </Repetition>
      <StartBoundary>2022-09-28T08:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-21-1164050195-3089421060-4249159072-113298</UserId>
      <LogonType>S4U</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>MonAppli.exe</Command>
      <Arguments>MonArg</Arguments>
    </Exec>
  </Actions>
</Task>

et voici mon script :

schtasks /create /tn "MaTache" /tr "C:\MonAppli.exe" /sc HOURLY /mo 2 /st 08:00 /du 10:00 /np /f

J'ai aussi testé avec un:   /et 18:00 mais ça ne passe pas non plus et pire ça me met la date d'expiration de la tache ce qui ne doit pas arrivé

Quelqu'un aurait-il une solution ? 

Cordialement,

Lucas

A voir également:

3 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 

Bonjour,

Si c'est vraiment trop galère, passe par le XML. Ton script se contentera d'importer le XML au lieu de créer une tâche lui-même.



0
brucine Messages postés 21894 Date d'inscription   Statut Membre Dernière intervention   3 475
 

Bonjour,

StackOverflow propose quelque chose de ce genre et que je n'ai pas testé/

schtasks /create /tn "test" /tr "\"test.exe"" /sc DAILY /st 07:00 /f /RI 60 /du 24:00

et qu'il faudrait alors adapter pour notre cas de figure en:

schtasks /create /tn "test" /tr "\"test.exe"" /sc DAILY /st 08:00 /np /f /RI 120 /du 10:00

puisqu'on ne veut pas que la tâche s'effectue toutes les heures (60) mais toutes les 2 heures (120) et non pas pour une durée de 24 heures mais de 10 heures comprises entre 8h et 18h.
 

0
LucasCabley Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 

Je te remercie infiniment Brucine, j'étais persuadé d'avoir déjà essayé ta solution mais ça marche.... :) 

0