[R] Attendre fin d'exécution d'un script puis poursuivre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Dan67
Niveau 1
Niveau 1
Messages : 10
Enregistré le : sam. 16 oct. 2010 14:07
Status : Hors ligne

[R] Attendre fin d'exécution d'un script puis poursuivre

#1

Message par Dan67 »

Bonjour,
J'ai 3 scripts vbs à exécuter à la suite les uns des autres. Il faut bien entendu que le précédent soit terminé avant de lancer le suivant (le 2° script "Recherche_Lignes_ERROR.vbs" récupère toutes les lignes en erreur sur le log créé par le 1er script). Or actuellement, malgré l'utilisation de runwait, tout se lance à la suite sans attente.

Code : Tout sélectionner

Local $val = RunWait('csript.exe "Sauvegardes_Automatiques.vbs"')
Local $val = RunWait('cscript.exe "Recherche_Lignes_ERROR.vbs"')
Local $val = RunWait('cscript.exe "Envoi_de_Mail_par_Bat.vbs"')
Pour info, j'aurais préféré tout laisser en vbs, mais j'ai buté sur le même problème d'exécution simultanée.
Merci d'avance pour vos conseils
Modifié en dernier par Dan67 le ven. 04 mars 2011 23:21, modifié 1 fois.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Attendre fin d'exécution d'un script puis poursuivr

#2

Message par zeshrek »

Cscript est une commande (externe) DOS, et il me semble que la doc de runwait indique :
To run DOS commands, try RunWait(@ComSpec & " /c " & "commandName") ; don't forget " " before "/c"
essaye avec

Code : Tout sélectionner

Local $val = RunWait(@ComSpec & " /c " & 'csript.exe "Sauvegardes_Automatiques.vbs"')
et ainsi de suite...
Si vis pacem para bellum
Dan67
Niveau 1
Niveau 1
Messages : 10
Enregistré le : sam. 16 oct. 2010 14:07
Status : Hors ligne

Re: [..] Attendre fin d'exécution d'un script puis poursuivr

#3

Message par Dan67 »

Merci pour ta réponse.
J'avais effectivement vu ça dans l'aide, mais ça ne fonctionne pas. Les scripts sont carrément non exécutés.
Cordialement
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Attendre fin d'exécution d'un script puis poursuivr

#4

Message par zeshrek »

Si les scripts sont pas executés, c'est peut etre un pb de chemin (soit vers cscript, soit vers ton vbs)
Essaye de refaire les lignes avec les chemins complets
Si vis pacem para bellum
airday
Niveau 1
Niveau 1
Messages : 8
Enregistré le : mar. 08 févr. 2011 11:53
Status : Hors ligne

Re: [..] Attendre fin d'exécution d'un script puis poursuivr

#5

Message par airday »

sinon rajoute un systeme de flag dans ton vbs en utilisant par exemple une creation de fichier (temporaire). Ton AU3 verifie la presence ou absence de ce dernier avant de passer au script suivant.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Attendre fin d'exécution d'un script puis poursuivr

#6

Message par Iste »

Et avec ShellExecuteWait() ?

sinon :

Code : Tout sélectionner

$pid = Run($cmd)
While ProcessExists($pid)
    Sleep(50)
WEnd
Signez ici
Dan67
Niveau 1
Niveau 1
Messages : 10
Enregistré le : sam. 16 oct. 2010 14:07
Status : Hors ligne

Re: [R] Attendre fin d'exécution d'un script puis poursuivre

#7

Message par Dan67 »

Soit je n'ai pas su exploiter vos réponses, soit ça ne fonctionne pas, mais j'ai réglé mon problème en utilisant un script vbs. Je mets le sujet en résolu, même si ça ne s'est pas fait avec AutoIt.
Merci pour votre aide
Répondre