OVH Cloud OVH Cloud

un script qui appelle un autre script

2 réponses
Avatar
Laurent M
Bonjour,

Deux Questions de débutant, sans doute:

1-J'ai un script A qui appelle un script B (A doit attendre que B ait
terminé). Après qq recherches j'obtiens ceci:

script A:

Set objshell=createobject("wscript.shell")
x=objshell.run("wscript.exe ScriptB.vbs",,true)

Est-ce la bonne façon de procéder? Ça fonctionne mais ça ne me semble
pas très élégant...

2-j'aimerais que le script B retourne une valeur au script A. Là je
pédale dans la semoule. Comment faire? J'ai réussi à transmettre de A
vers B mais pas l'inverse (avec wscript.arguments, B peut lire les
arguments que A lui envoie, mais ne peut les modifier et lui retourner)

Merci d'avance,

Laurent

2 réponses

Avatar
Georges MAUREL
Bonjour Laurent,
1 - Oui c'est la bonne façon de procéder

2 - Voici un exemple de script avec passage de paramètre et retour de valeur
:
Script 1 :
valeur1 = 10
Set objshell=createobject("wscript.shell")
valeur1=objshell.run("wscript.exe vbs2.vbs " & valeur1,,true)
msgbox valeur1

Script2
Set args = Wscript.Arguments
valeur2 = args(0)
valeur2=valeur2+10
wscript.quit valeur2

Cordialement
Georges



"Laurent M" a écrit dans le message
de news:
Bonjour,

Deux Questions de débutant, sans doute:

1-J'ai un script A qui appelle un script B (A doit attendre que B ait
terminé). Après qq recherches j'obtiens ceci:

script A:

Set objshell=createobject("wscript.shell")
x=objshell.run("wscript.exe ScriptB.vbs",,true)

Est-ce la bonne façon de procéder? Ça fonctionne mais ça ne me semble pas
très élégant...

2-j'aimerais que le script B retourne une valeur au script A. Là je pédale
dans la semoule. Comment faire? J'ai réussi à transmettre de A vers B mais
pas l'inverse (avec wscript.arguments, B peut lire les arguments que A lui
envoie, mais ne peut les modifier et lui retourner)

Merci d'avance,

Laurent



Avatar
Laurent M
Merci beaucoup Georges, je vais pouvoir compléter mon projet grâce à toi!

:-)

Laurent

Georges MAUREL wrote:

Bonjour Laurent,
1 - Oui c'est la bonne façon de procéder

2 - Voici un exemple de script avec passage de paramètre et retour de valeur
:
Script 1 :
valeur1 = 10
Set objshell=createobject("wscript.shell")
valeur1=objshell.run("wscript.exe vbs2.vbs " & valeur1,,true)
msgbox valeur1

Script2
Set args = Wscript.Arguments
valeur2 = args(0)
valeur2=valeur2+10
wscript.quit valeur2

Cordialement
Georges



"Laurent M" a écrit dans le message
de news:

Bonjour,

Deux Questions de débutant, sans doute:

1-J'ai un script A qui appelle un script B (A doit attendre que B ait
terminé). Après qq recherches j'obtiens ceci:

script A:

Set objshell=createobject("wscript.shell")
x=objshell.run("wscript.exe ScriptB.vbs",,true)

Est-ce la bonne façon de procéder? Ça fonctionne mais ça ne me semble pas
très élégant...

2-j'aimerais que le script B retourne une valeur au script A. Là je pédale
dans la semoule. Comment faire? J'ai réussi à transmettre de A vers B mais
pas l'inverse (avec wscript.arguments, B peut lire les arguments que A lui
envoie, mais ne peut les modifier et lui retourner)

Merci d'avance,

Laurent