Cherche un genre de boucle while...

Fermé
Grokenos82 - 23 juin 2008 à 12:57
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 23 juin 2008 à 15:12
Bonjour,
Je suis en train de modifier un scrypt batch et il y a des lancements de programmes qui modifient la configuration IP.
Le probléme, c'est qu'il y a un scrypt qui est appellé à plusieurs reprises et dois être fermé avant de continuer avec le reste du scrypt.
Si elle est pas fermé et qu'elle est appellé à nouveau, ca bug.
On a essayé avec des appell d'ip pour ralentir le tout mais il se peut que l'appel d'ip ne soit pas assez suffisant.
Il nous faut un truc du genre....
SI SCRYPT apellé pas terminé,
refaire verification
SINON
continuer avec le reste du scrypt parent

je précise à nouveau que c'est un crypt batch et j'utilise PowerBatch.exe
un peut d'aide les gars? ^^'
merci

4 réponses

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
23 juin 2008 à 14:02
Bonjour,

Il existe un petit programme sleep qui permets d'attendre un nombre de seconds, tu trouveras ici plus d'informations, cherche dans la page DOS Sleep file

A plus
1
Grokenos82 Messages postés 13 Date d'inscription lundi 23 juin 2008 Statut Membre Dernière intervention 30 avril 2009
23 juin 2008 à 14:17
Le truc, c'est qu'on veut pas d'attente, on veut que le programme s'arrête le temps que l'application tourne car le temps utilisé varie en fonction du monde sur le réseau :s
La fonction wait de WINDOWS est une limite de temps en secondes. nous, ce qu'on veut, c'est un équivalent du wait de LINUX -__-
Comme ca, on est sûr à 100% que les scrypts se suivent correctement sans qu'il y ait de confrontation.
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
23 juin 2008 à 13:37
Bonjour,

Si tu es en script shell (unix/linux), E=est ce que l'utilisation de l'instruction wait te conviendrais ?
Lit cette discussion : http://www.commentcamarche.net/forum/affich 2569129 shell unix utilisation du wait

Si tu appelle un script shell, placer un "wait" juste après l'instruction qui lance ton autre script permet d'attendre la fin de ce script avant de continue le script courant.
0
Grokenos82 Messages postés 13 Date d'inscription lundi 23 juin 2008 Statut Membre Dernière intervention 30 avril 2009
23 juin 2008 à 13:47
ah, c'est vraie, j'avais oublié de le préciser, le scrypt se lance sous DOS, windows. Dsl mais merci quand même.
Yaurais pas un équivalent de wait avec DOS?
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
23 juin 2008 à 14:36
Bonjour,

Si dans un fichier bat tu exécutes d'autres fichiers bat ton premier attend la fin de chacun d'entre eux avant de continuer, exemple d'un fichier test.bat contenant
dir *.txt
test1.bat
dir *.doc
test1.bat
dir *.exe

Cela va d'abord exécuter la commander DIR, ensuite le fichier test1.bat, ensuite la commande DIR,....

Peut-être que je n'ai pas compris ton problème, si c'est le cas peux-tu copier/coller un exemple de ton script batch ?

A plus
0
Grokenos82 Messages postés 13 Date d'inscription lundi 23 juin 2008 Statut Membre Dernière intervention 30 avril 2009
23 juin 2008 à 14:44
voilà, apparament, le fichier attend pas l'acomplissement du
start /min "fichier exe + config d'utilisation" /runpath:
ping -n 3 127.0.0.1
start /min "fichier exe + config d'utilisation" /runpath
ping -n 3 127.0.0.1
start /min "fichier exe + config d'utilisation" /runpath

les configs sont :
l'emplacement du fichier exe (un .bat compilé)
les configs de droits d'utilisation
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
23 juin 2008 à 15:12
Bonjour,

Tu pourrais utiliser un script VB qui utiliserait la commande WshShell.Run, le dernier paramètre de cette commande permets d'attendre la fin d'exécution, exemple ci-dessous
Set WshShell = WScript.CreateObject("WScript.Shell") 'Création de l'object
WshShell.Run("fichier.exe" , 1 , TRUE) 'Exécution de la commande
Set WshShell = nothing 'Détruire l'object

Un script VB est un fichier texte avec l'extension vbs
Tu trouveras plus d'informations concernant cette commande ici ou encore sur CCM

A plus
0