Cherche un genre de boucle while...

Grokenos82 -  
Christounet Messages postés 1264 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   1 392
 
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   Statut Membre Dernière intervention  
 
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 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   1 392
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   1 392
 
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