Tache planifiée

Résolu
bloodchecker Messages postés 361 Statut Membre -  
ConteZero Messages postés 156 Statut Membre -
Bonjour,
Mettons que j'ai une tâche planifiée pour s'éxécuter à 12:00:00 chaque jour.
J'aimerai que, dans le cas ou ma machine est éteinte à ce moment, la tache se lance au démarrage de Windows.
Est-ce possible ?
Merci

6 réponses

ConteZero Messages postés 156 Statut Membre 24
 
Alors alors...tu va devoir ruser!^^
J'espère que tu es familier des scripts, çà devrait t'aider, même si la solution que je te proposes est facile à copier-coller ;).

Commençons par quelques explications : le but est de lancer la tache au démarrage seulement si celle-ci ne s'est pas déroulée. Comment savoir si cette tache s'est bien déroulée sans que tu ne vérifies par toi même?

Et bien il faut que la tache que tu exécutes tous les jours, crée un fichier que nous appellerons le témoin de réussite. Il contiendra la date de la dernière exécution de ta tache. Le script que nous créerons et qui se lancera au démarrage de ton ordi, vérifiera le fichier "témoin de réussite" : si la date contenu dans ce fichier est différente d'aujourd'hui, alors le script forcera l'éxécution de ta tache planifiée^^.

Voilà pour les explications de fonctionnement. Je viens de préparer le script, reste à savoir comment intégrer la tache que tu exécutes dans ce script, donc quelle est la commande que tu utilises?

Voici un petit peu à quoi ressemblera ton script:
-à exécuter en plus pour ta tache planifiée:
set JOUR=%DATE:~0,2%
set MOIS=%DATE:~3,2%
set ANNEE=%DATE:~6,4%

echo %ANNEE%%MOIS%%JOUR% > c:\date.txt

-à exécuter au démarrage de l'ordi:
set JOUR=%DATE:~0,2%
set MOIS=%DATE:~3,2%
set ANNEE=%DATE:~6,4%
set /a AUJOURDHUI=%ANNEE%%MOIS%%JOUR%

FOR /F "tokens=1" %%i in (c:\date.txt) do SET RESU=%%i

IF %AUJOURDHUI% NEQ %RESU% "exécuter ta tache"

Ne t'inquiètes pas ca devrais fonctionner sans problème ;)
1
bloodchecker Messages postés 361 Statut Membre 35
 
Merci pour l'idée ! Je vais l'adapter à ma sauce !
0
ConteZero Messages postés 156 Statut Membre 24
 
Bonjour,

et oui il me semble que c'est possible, puisque Windows lancera automatiquement la tâche au démarrage de l'ordi, tu n'as donc rien de spécial à faire^^.

Tiens nous au courant.

Bye
0
bloodchecker Messages postés 361 Statut Membre 35
 
Non, ça ne la lance pas au démarrage :/
Ma tache ne s'est jamais exécutée et ne s'exécutera jamais.
0
ConteZero Messages postés 156 Statut Membre 24
 
Ta tache s'exécute au moins sans problème lorsque tu fais un test? Ou comme tu dis elle n'a jamais fonctionnée?
0
bloodchecker Messages postés 361 Statut Membre 35
 
elle fonctionne sans soucis si je suis connecté à l'heure fatidique.
Si ma machine est etiente, alors elle ne s'éxécute qu'à sa prochaine echéance.
0
ConteZero Messages postés 156 Statut Membre 24
 
Ok!
Good luck :))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ConteZero Messages postés 156 Statut Membre 24
 
FOR /F "tokens=1" %%i in (..\..\logs\dernierArchivage.log) do set RESU=%%i

IF %AUJOURDHUI% NEQ %RESU% "schtasks /Run /TN \"Archivage automatique\""


Le truc c'est qu'il ne veut pas de ma commande. J'ai fait pas mal de test et je crois qu'il n'aime pas les espace en fait, parce que il connait "schtasks" (qui liste les tache en cours) mais ne veux pas de "schtacks /Query" qui retourne également cette liste.

Salut,

il va falloir que tu nous donne les erreurs^^.
Mets des "pause" dedans afin que tu puisses avoir le temps de les noter.
Mais je pense savoir ou çà coince^^:
ces sont les guillemets qui suivent ta commande IF, change les par des parenthèses :

IF %AUJOURDHUI% NEQ %RESU% (schtasks /Run /TN "Archivage automatique") ELSE (echo Pas besoin de relancer la tache.)

ca devrait mieux fonctionner ;)

A toot pour confirmation^^.
0
bloodchecker Messages postés 361 Statut Membre 35
 
oui mon soucis venait des parenthèses ! Tout va bien maintenant !
Merci !
0
ConteZero Messages postés 156 Statut Membre 24
 
Parfait!! ;)
De rien, avec plaisir^^.
0