OVH Cloud OVH Cloud

attendre la fin d'une commande

8 réponses
Avatar
Maeva
Bonjour,

J'ai écrit un script VBS pour automatiser un traitement et j'ai besoin
qu'une commande "shell" attende la fin de la commande précédente pour
s'exécuter.

Y'a moyen de faire ça ???

Merci

8 réponses

Avatar
~Jean-Marc~ [MVP]
Salutations *Maeva* !
Dans <news:%23a$
tu nous disais :
Bonjour,
J'ai écrit un script VBS pour automatiser un traitement et j'ai besoin
qu'une commande "shell" attende la fin de la commande précédente pour
s'exécuter.


Tiré de l'aide VBS 5.6 :

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")

Set oExec = WshShell.Exec("calc")

Do While oExec.Status = 0
WScript.Sleep 100
Loop

@+++

--
~Jean-Marc~ MSAE & MVP Windows XP Fr
M'écrire : http://msmvps.com/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/

Avatar
Fred
Dans le message:%23a$,
Bonjour,

J'ai écrit un script VBS pour automatiser un traitement et j'ai besoin
qu'une commande "shell" attende la fin de la commande précédente pour
s'exécuter.

Y'a moyen de faire ça ???

Merci


Bonjour,
Ou aussi Shell.Run qui a un paramètre permettant de spécifier le
comportement (attente ou non).
http://msdn.microsoft.com/library/en-us/script56/html/wsMthRun.asp


--
Fred

Avatar
Maeva
Merci ;)

"~Jean-Marc~ [MVP]" a écrit dans le message de
news:
Salutations *Maeva* !
Dans <news:%23a$
tu nous disais :
Bonjour,
J'ai écrit un script VBS pour automatiser un traitement et j'ai besoin
qu'une commande "shell" attende la fin de la commande précédente pour
s'exécuter.


Tiré de l'aide VBS 5.6 :

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")

Set oExec = WshShell.Exec("calc")

Do While oExec.Status = 0
WScript.Sleep 100
Loop

@+++

--
~Jean-Marc~ MSAE & MVP Windows XP Fr
M'écrire : http://msmvps.com/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/




Avatar
Maeva
Merci !!

C'est effectivement plus simple que d'écrire une boucle d'attente ...

"Fred" a écrit dans le message de
news:
Dans le message:%23a$,
Bonjour,

J'ai écrit un script VBS pour automatiser un traitement et j'ai besoin
qu'une commande "shell" attende la fin de la commande précédente pour
s'exécuter.

Y'a moyen de faire ça ???

Merci


Bonjour,
Ou aussi Shell.Run qui a un paramètre permettant de spécifier le
comportement (attente ou non).
http://msdn.microsoft.com/library/en-us/script56/html/wsMthRun.asp


--
Fred





Avatar
Maeva
"Fred" a écrit dans le message de
news:
Dans le message:%23a$,
Bonjour,

J'ai écrit un script VBS pour automatiser un traitement et j'ai besoin
qu'une commande "shell" attende la fin de la commande précédente pour
s'exécuter.

Y'a moyen de faire ça ???

Merci


Bonjour,
Ou aussi Shell.Run qui a un paramètre permettant de spécifier le
comportement (attente ou non).
http://msdn.microsoft.com/library/en-us/script56/html/wsMthRun.asp


--
Fred




C'est interressant, mais dans le cas qui m'occupe, j'ai un message :
"Impossible d'atendre pour le traitement" (code 80020009)


Avatar
Lord Mathius
dans ton cas alors il te faudra utiliser la technique de la boucle d'attente,
si cela ne marche pas, alors cela vient du fait que ton applis ne permet pas
l'attente
voir test simple du "start /wait command.exe"
si cela libere la main direct alors aucune des 2 methode marchera et tu
devra faire un script qui trouver l'id du processe que tu a lancer et
attendre ca fin

cf site de jcbellamy pour exemple de ce type




"Fred" a écrit dans le message de
news:
Dans le message:%23a$,
Bonjour,

J'ai écrit un script VBS pour automatiser un traitement et j'ai besoin
qu'une commande "shell" attende la fin de la commande précédente pour
s'exécuter.

Y'a moyen de faire ça ???

Merci


Bonjour,
Ou aussi Shell.Run qui a un paramètre permettant de spécifier le
comportement (attente ou non).
http://msdn.microsoft.com/library/en-us/script56/html/wsMthRun.asp


--
Fred




C'est interressant, mais dans le cas qui m'occupe, j'ai un message :
"Impossible d'atendre pour le traitement" (code 80020009)








Avatar
Maeva
Bah, en fait, j'essayais d'exécuter un raccourcis. Ca fonctionne sans wait,
mais pas avec.

C t plus simple pour moi, les raccourcis sont tous ds le même dossier.

j'ai modifier en changeant le shell.directory à chaque fois, avant d'appeler
l'exé, et ça fonctionne.

Thank's everybody

"Lord Mathius" a écrit dans le
message de news:
dans ton cas alors il te faudra utiliser la technique de la boucle
d'attente,

si cela ne marche pas, alors cela vient du fait que ton applis ne permet
pas

l'attente
voir test simple du "start /wait command.exe"
si cela libere la main direct alors aucune des 2 methode marchera et tu
devra faire un script qui trouver l'id du processe que tu a lancer et
attendre ca fin

cf site de jcbellamy pour exemple de ce type




"Fred" a écrit dans le message de
news:
Dans le message:%23a$,
Bonjour,

J'ai écrit un script VBS pour automatiser un traitement et j'ai
besoin




qu'une commande "shell" attende la fin de la commande précédente
pour




s'exécuter.

Y'a moyen de faire ça ???

Merci


Bonjour,
Ou aussi Shell.Run qui a un paramètre permettant de spécifier le
comportement (attente ou non).
http://msdn.microsoft.com/library/en-us/script56/html/wsMthRun.asp


--
Fred




C'est interressant, mais dans le cas qui m'occupe, j'ai un message :
"Impossible d'atendre pour le traitement" (code 80020009)










Avatar
Lord Mathius
pour executer des racourcie, le plus simple et de les appeler a travers des
"CMD.EXE /c racourcie.lnk"
et la tu doit pouvoir attendre la fin de l'execution.



Bah, en fait, j'essayais d'exécuter un raccourcis. Ca fonctionne sans wait,
mais pas avec.

C t plus simple pour moi, les raccourcis sont tous ds le même dossier.

j'ai modifier en changeant le shell.directory à chaque fois, avant d'appeler
l'exé, et ça fonctionne.

Thank's everybody

"Lord Mathius" a écrit dans le
message de news:
dans ton cas alors il te faudra utiliser la technique de la boucle
d'attente,

si cela ne marche pas, alors cela vient du fait que ton applis ne permet
pas

l'attente
voir test simple du "start /wait command.exe"
si cela libere la main direct alors aucune des 2 methode marchera et tu
devra faire un script qui trouver l'id du processe que tu a lancer et
attendre ca fin

cf site de jcbellamy pour exemple de ce type




"Fred" a écrit dans le message de
news:
Dans le message:%23a$,
Bonjour,

J'ai écrit un script VBS pour automatiser un traitement et j'ai
besoin




qu'une commande "shell" attende la fin de la commande précédente
pour




s'exécuter.

Y'a moyen de faire ça ???

Merci


Bonjour,
Ou aussi Shell.Run qui a un paramètre permettant de spécifier le
comportement (attente ou non).
http://msdn.microsoft.com/library/en-us/script56/html/wsMthRun.asp


--
Fred




C'est interressant, mais dans le cas qui m'occupe, j'ai un message :
"Impossible d'atendre pour le traitement" (code 80020009)