Tache planifiée

Résolu/Fermé
bloodchecker Messages postés 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 - 24 mars 2010 à 09:45
ConteZero Messages postés 156 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 7 mai 2010 - 25 mars 2010 à 11:03
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 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 7 mai 2010 24
Modifié par ConteZero le 25/03/2010 à 11:04
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 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
24 mars 2010 à 16:39
Merci pour l'idée ! Je vais l'adapter à ma sauce !
0
ConteZero Messages postés 156 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 7 mai 2010 24
24 mars 2010 à 10:57
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 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
24 mars 2010 à 11:50
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 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 7 mai 2010 24
24 mars 2010 à 12:02
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 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
24 mars 2010 à 14:48
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 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 7 mai 2010 24
24 mars 2010 à 16:48
Ok!
Good luck :))
0

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

Posez votre question
ConteZero Messages postés 156 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 7 mai 2010 24
25 mars 2010 à 10:32
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 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
25 mars 2010 à 11:01
oui mon soucis venait des parenthèses ! Tout va bien maintenant !
Merci !
0
ConteZero Messages postés 156 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 7 mai 2010 24
25 mars 2010 à 11:03
Parfait!! ;)
De rien, avec plaisir^^.
0