Se connecter / S'enregistrer
Votre question

une minuterie en batch ?? heure et date d'execution d'un fichier batch

Tags :
  • Telnet
  • Programmation
Dernière réponse : dans Programmation
23 Novembre 2005 17:39:34

Et bien voila c'est simple comme j'ai quelque probleme à términé les commande "telnet" et "ftp" automatiquement j'ai déssidé de créer un batch en parallèle qui arréteré celui en execution.

En clair je voudrais :

-n°1 que mon fichier batch s'execute à un moment précis : 14h56

ou

-n°2 que lorsqu'il s'execute il attende 5min pour continuer la suite comme la commande "pause" mais sans que ce soit à l'utilisateur de confirmer la suite du fichier.

Autres pages sur : minuterie batch heure date execution fichier batch

23 Novembre 2005 17:44:12

Deja bonjour,
Ensuite tu es sur kel OS,
si cé windows tu devrais avec le planificateur de tache pour lancer a une heure voulu. Et regarde si il n'y a pas une commande sleep ( je sais ke sous unix ya pas de pb ca existe et ca marche tres bien ).
23 Novembre 2005 17:48:39

sous windows tu peux utiliser la commande "at" pour insérer des éléments dans le planificateur de tâche.
Et effectivement la commande sleep existe :
Faire "sleep /?" pour plus d'info
Contenus similaires
23 Novembre 2005 17:54:53

Merci je vais voir pour le planificateur de tache même si j'aurais préféré quelque chose de plus .... automatique.

Si non pour la commande "sleep" je ne trouve pas je suis sous XP fam et apparement la commande n'existe pas !!

merci
23 Novembre 2005 17:58:57

ben je vois pas ce ke tu pourrai trouver de plus automatique ke le planificateur de tache tu donne date et heure et frequence et ca ce lance???? Tu veux faire koi toi????
Et pour la commande sleep ben la je peux pas t'aider je programme pas trop sous windaube....
23 Novembre 2005 18:13:49

tu peux le télécharger ici :resource kit tools

enfin il fait parti du kit, mais tu n'as pas besoin de tout ça.

Tu dois pouvoir le télécharger à part.
23 Novembre 2005 18:31:33

En faite voila j'aimerais : mon premier fichier 1.bat s'execute il crée un nouveau fichier 2.bat le fichier 2.bat à pour commande "tskill cmd" pour qu'il arrette les 2 fichiers batch.

Le problème c'est que je veu que cette commande "tskill cmd" s'execute par exemple 5min après l'execution du fichier 1.bat ou 2.bat peu importe !!

Voila pourquoi je ne veu pas utiliser le planificateurs de tache !! je ne sais pas quand le fichier sera lancer !!

ataeofal je vois pas de quoi tu parle ......
a b L Programmation
23 Novembre 2005 20:39:54

C'est bizarre ce que tu veux faire.

En shell, ça serait effectivement facile, mais en batch... il te faut utiliser un programme externe (comme le planificateur de tâche).
Sinon tu peux faire un truc pas évident en bouclant sur un "time /t" et arreter la boucle lorsque la différence entre le courant et le premier est de 5 minute.
Mais là encore le problème est l'"analyse" de ce que retourne time /t. Là encore ça aurait été facile en shell avec la commande cut.

Donc le mieux serait de faire un programme, un vrai.
23 Novembre 2005 21:02:06

Désolé cricky mais je ne sais pas du tout ce que c'est le "shell" enfin je sais que c'est un coquillage :D  lol

Non mais franchement je ne sais pas du tout ce que sais !! Donc si tu veux tu peux m'expliquer ....

J'aimerais bien faire un programme un vrai comme tu dis mais je ne peu pas !! Je trouve que le C et le Java c'est trop long le vb je trouve pas de compilateur et c'est pas super puissant le vbs est détécté comme un virus par norton puis ........ je sais même pas ce qu"il y a d'autre. Si je crois qu'il y a un truc qui s'appelle python mais je ne sais pas non plus ce que sais.

Merci
a b L Programmation
23 Novembre 2005 22:39:34

le shell c'est pour linux/Unix
le batch c'est pour windows/DOS

Donc pour windows tu n'a pas toute les possibilités du shell linux.
28 Novembre 2005 19:39:06

Bon je me suis résolu à utliser la commande "at mais je ne trouve pas comment l'utiliser lorsque je fais "at/?" j'ai des indication peu précise.

Comment faire par exemple pour que mon fichier blabla.jpg situé dans C:\ s'execute tout les jours à .... 13h.

Et une petite question : si je dis au planificateur de tache d'executer ce fichier à tel heure si l'ordinateur est éteint à cet heure ci esque lors du démarrage de l'ordinateur le fichier sera quand même executé ou non ?

Merci !!
29 Novembre 2005 00:15:31

le problème de la commande "at" est que tu peux difficilement (impossible??) lui indiquer qu'il faut relancer le script chaque jours à la même heure (ou alors ta ligne de commande avec le paramètre /EVERY va être longue).
tu peux regarder du côté de "schtasks" mais je crois qu'il faut le télécharger sur le site microsoft.

La commande qui te permet d'executer ta commande est le lendemain à 13h est la suivante :
at 13:00 "C:\toto.exe"

Le problème c'est que tu ne paramètres l'execution que pour le lendemain. Donc le mieux est peut-être de mettre cette commande plus l'execution de ta commande dans un fichier .bat

Je m'explique. Tu crées un fichier toto.bat dans lequel tu mets les 2 commandes :
C:\toto.exe
at 13:00 "chemin\toto.bat"
Ce qui fait qu'après chaque execution de toto.exe tu reprogramme une execution pour le lendemain.

Par contre cette méthode ne règle pas l'autre problème que tu soulèves. Si ton pc est éteint et que tu rates l'heure d'execution alors ta planification s'arrête définitivement.
L'autre solution, dans le cas ou tu reboot ton pc tous les jours est d'inscrire cette commande dans la base de registre pour programmer l'execution de ton toto.exe à 13h du jour même ...

Va voir quand même du côté de la commande schtasks ... je crois qu'elle est beaucoup plus complète =)
29 Novembre 2005 21:44:46

Effectivement ton idée est très intéressante. dailleurs j' y avais pensé :-D.
Pour l'autre commande que tu me demande d'utilisé et télécharger le composant qui manque sur Microsoft je ne veu pas trop car je veu que mon fichier batch soi ... "unique" donc pas de fichier en plus.

Pour écrire dans le registre je croi savoir que la commande est "reg" je croi savoir un peu l'utiliser ce qui hn'est pas le cas pour le registre, je ne sais pas ou ni quel nom donné à ma clé de registre.
29 Novembre 2005 23:52:46

pour que ta commande soit executée au début de chaque ouverture de session, il faut que tu crées une clé dans :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
le nom tu y mets ce que tu veux, le type c'est REG_SZ (une chaîne de caractères), et la valeur le chemin complet+le nom de ton application(ex C:\toto.exe)

J'éspère avoir répondu à ta question
30 Novembre 2005 12:04:25

Esque cette commande est exacte ??


reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v teste /t reg_multi_sz /d C:\toto.exe

C'est sensé créer une clé du nom de "teste" et démaré l'application toto.exe situé dans C:\ Esque sa marchera ?? Désolé de te demander aulieu d'essayer mais le registre j'ai un peu peur d'y toucher. :-?
30 Novembre 2005 12:29:06

J'ai testé ;-) ça marche .
Par contre mais reg_sz au lieu de reg_multi_sz
30 Novembre 2005 13:36:56

Ok merci beaucoup !!!

Si j'ai mis : reg_multi_sz c'est parce que c'est quand tu fé : "reg add /?" ils disent de mettre sa !
30 Novembre 2005 14:07:01

En fait reg_multi_sz permet de créer une clé comme étant une association de plusieurs chaînes que tu peux délimiter par ce que tu veux (ou \0 par défaut).

Mais peut-être que ça marche aussi si tu ne mets qu'une chaîne de caractères avec le type reg_multi_sz.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS