VBS: Récupération des arguments passés en ligne de commande

Le
Guillaume
Bonjour,

je souhaite savoir comment recupère t- on les arguments passés à un script
vbs en ligne de commande?

Merci beaucoup pour votre aide
--
Guillaume
TECHNICIEN MICRO/RÊSEAUX
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles LAURENT
Le #673524
"Guillaume" message de
news:
| Bonjour,

Bonjour,

| je souhaite savoir comment recupère t- on les arguments passés à un
| script vbs en ligne de commande?
|
| Merci beaucoup pour votre aide

Par exemple :

--- GetArgs.vbs ---
Set oArgs=WScript.Arguments ' tableau d'arguments
WScript.Echo oArgs.Count ' nombre d'argument transmis
WScript.Echo oArgs(0) ' premier argument
WScript.Echo oArgs(1) ' second argument
--- GetArgs.vbs ---

> cscript GetArgs.vbs 1 "2 3"

Note: Remarquez le passage d'argument encadré de guillemets

--
Gilles LAURENT
http://glsft.free.fr
Guillaume
Le #673523
Merci

Quelle rapidité!!!
Vous êtes vraiment géniaux.

;-)

--
Guillaume
TECHNICIEN MICRO/RÊSEAUX



"Guillaume" message de
news:
| Bonjour,

Bonjour,

| je souhaite savoir comment recupère t- on les arguments passés à un
| script vbs en ligne de commande?
|
| Merci beaucoup pour votre aide

Par exemple :

--- GetArgs.vbs ---
Set oArgs=WScript.Arguments ' tableau d'arguments
WScript.Echo oArgs.Count ' nombre d'argument transmis
WScript.Echo oArgs(0) ' premier argument
WScript.Echo oArgs(1) ' second argument
--- GetArgs.vbs ---

> cscript GetArgs.vbs 1 "2 3"

Note: Remarquez le passage d'argument encadré de guillemets

--
Gilles LAURENT
http://glsft.free.fr





Jacques Barathon [MS]
Le #673522
"Gilles LAURENT" news:
...
--- GetArgs.vbs ---
Set oArgs=WScript.Arguments ' tableau d'arguments
WScript.Echo oArgs.Count ' nombre d'argument transmis
WScript.Echo oArgs(0) ' premier argument
WScript.Echo oArgs(1) ' second argument
--- GetArgs.vbs ---

> cscript GetArgs.vbs 1 "2 3"

Note: Remarquez le passage d'argument encadré de guillemets


Pour compléter la réponse de Gilles, vous pouvez également passer des
arguments nommés et les récupérer tout aussi facilement, ce qui évite de
dépendre de leurs positions respectives:

--- GetArgs.vbs ---
domain = WScript.Arguments.Named("d")
user = WScript.Arguments.Named("u")
WScript.Echo "Domaine: " & domain
WScript.Echo "Utilisateur: " & user
--- GetArgs.vbs

C:> getargs /u:jacques /d:europe
Domaine: europe
Utilisateur: jacques

Jacques

Guillaume
Le #673336
c'est formidable , mieux qu'un manuel

Merci
--
Guillaume
TECHNICIEN MICRO/RÊSEAUX



"Gilles LAURENT" news:
....
--- GetArgs.vbs ---
Set oArgs=WScript.Arguments ' tableau d'arguments
WScript.Echo oArgs.Count ' nombre d'argument transmis
WScript.Echo oArgs(0) ' premier argument
WScript.Echo oArgs(1) ' second argument
--- GetArgs.vbs ---

> cscript GetArgs.vbs 1 "2 3"

Note: Remarquez le passage d'argument encadré de guillemets


Pour compléter la réponse de Gilles, vous pouvez également passer des
arguments nommés et les récupérer tout aussi facilement, ce qui évite de
dépendre de leurs positions respectives:

--- GetArgs.vbs ---
domain = WScript.Arguments.Named("d")
user = WScript.Arguments.Named("u")
WScript.Echo "Domaine: " & domain
WScript.Echo "Utilisateur: " & user
--- GetArgs.vbs

C:> getargs /u:jacques /d:europe
Domaine: europe
Utilisateur: jacques

Jacques





imbecileheureux Hors ligne
Le #26424899
Le jeudi 14 Juin 2007 à 10:46 par Guillaume :
Bonjour,

je souhaite savoir comment recupère t- on les arguments passés
à un script
vbs en ligne de commande?

Merci beaucoup pour votre aide
--
Guillaume
TECHNICIEN MICRO/RÊSEAUX


Bonjour,
J'ai ce petit script qui ne fonctionne si je le lance qu'avec la fonctio et l'argument en dur
Mais dès que je veux utiliser le passage d'argument, ça plante
Pouvez-vous m'aider SVP

Public Function GetSpecialFolder(SpecialFolder)
GetSpecialFolder = CreateObject("Shell.application").NameSpace(SpecialFolder).Self.Path
End Function

oArgs = WScript.Arguments.Named("A")
WScript.Echo oArgs ' premier argument

ssfLOCALAPPDATA = oArgs
MsgBox GetSpecialFolder(ssfLOCALAPPDATA)
Publicité
Poster une réponse
Anonyme