Page 1 sur 1

[R] Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 11:23
par hakim
Bonjour,

J'ai un petit soucis qui commence à me faire comprendre que je suis une cruche en DEV..je n'arrive pas a trouver la syntaxe correct pour la commande Run (.....) dans le code ci dessous.
Guillemet simples, doubles, espace ...je ne sais plus quoi ecrire pour que ça fonctionne

Mon script lance une inputbox demandant adresse serveur vpn, login, mot de passe ... et apres cela je m'arrangerais pour lancer la connexion... et bien d'autre chose :

Au programme du futur script : établissemnt de liaison vpn puis une fois connecté ( test sur valeur adresse ip ) mappage de lecteur reseau utilisateur ( utilisation des variable d'environnement)...

► Afficher le texteCode
Voila pour la commande Run c:\programme file..... je n'arrive pas a faire valider cette ligne.
Au mieux, j'ai la mire de login avec $VPNSRV $username et $ Password litteralement dans les champs...

Merci de votre aide
Ps: je posteari le script une fois terminé.

Re: [..]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 12:12
par Iste

Code : Tout sélectionner

Run([color=#4000FF]"[/color]C:\Program Files\Fortinet\SSLVPNclient\FortiSSLVPNclient connect -h[color=#4000FF]"[/color][color=#FF0000]" "[/color]& $VPNSRV & [color=#FF0000]" [/color][color=#4000FF]"[/color]-u [color=#4040FF]"[/color] [color=#FF0000]" [/color]& $username &":"& $Password [color=#FF0000]&[/color] )
Ya pas mal de truc en trop ^^'

essaye avec ca

Code : Tout sélectionner

Run("C:\Program Files\Fortinet\SSLVPNclient\FortiSSLVPNclient connect -h" & $VPNSRV & "-u " & $username & ":" & $Password )

Re: [..]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 12:23
par hakim
hello ,

Merci pour ton aide :)

ça ne fonctionne pas, je m'explique :

le resultat me donne une erreur de synthaxe au niveau de la commande.

En temps normal si je passe cela en ligne de commande la synthaxe correct est de cette forme

Code : Tout sélectionner

C:\Program Files\Fortinet\SSLVPNclient>FortiSSLVPNclient.exe connect  -h XX.XX.XX.XX:12345 -u test:test
 
ps: "test:test" les deux points sont obligatoire

en cas d'erreur de synthaxe, j'ai un pop up d'aide, me donnant la synthaxe à utiliser. et avec la nouvelle ligne ça me fait exactement pareil..


un argument doit passer à la trappe, mais lequel ....

Re: [..]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 14:08
par Iste
ha oui, j'ai juste retirer lesfaute que je voyais sans réflechir dsl ^^'

Alors du coup je suis un peu perdu, ShellExecute() peut etre ?

Code : Tout sélectionner

ShellExecute ("C:\Program Files\Fortinet\SSLVPNclient>FortiSSLVPNclient.exe", "connect  -h XX.XX.XX.XX:12345 -u test:test")
Je vois pas de pris de parametre avec la command Run() :\

Re: [..]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 14:49
par hakim
hello !

Exact apperement avec la command Run, c'est pas gagné !!
j'avais commencé avec la commande ShellExecute, effectivement ça marche mieux !
Merci pour ton support , sympa !

Maintenant que ma synthaxe fonctionne, je tente de placé mes variables $VPNSRV $utilisateur et $Password ... et là encore la synthaxe n'est pas simple.

Je me mélange les pinceaux, avec les &' ; '& ; "&'$var ....

Enfin bref un vrai enfer !! que des erreurs ....

Code : Tout sélectionner

ShellExecute ("C:\Program Files\Fortinet\SSLVPNclient\FortiSSLVPNclient.exe", "connect  -h '& "$VPNSRV "-u '&"$username":" '&'$Password)
 
Tu as une idée ...merci pour tes lumières en tout cas .
en tout cas je cherche toujours !!

cheers !

Re: [..]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 15:43
par Iste
les "" n'entourent que des chaines (les ' ' sont une autre solution, surtout au cas ou tu voudrais metre des " dans ta chaine)

on a donc (car c'est mieux si on explique :)

1er chaine, le chemin vers l'exe, la c'est bon
"C:\Program Files\Fortinet\SSLVPNclient\FortiSSLVPNclient.exe",
puis, les parametres
Dans un langage "humain", tu veux donc (si j'ai bien compris)
la chaine (connect -h) puis la variable $VPNSRV puis la chaine (-u) ensuite la variable $username un(:) et enfin la variable $Password
Donc on entour toute les chaine de "", puis on sépart les élément par des &

Code : Tout sélectionner

ShellExecute ("C:\Program Files\Fortinet\SSLVPNclient\FortiSSLVPNclient.exe",  "connect  -h" & $VPNSRV & "-u" & $usernam & ":" & $Password)
Voila, c'est tout !
Les variable doivent etre ecris comme ca, sans plus
Suffit juste de bien séparer les éléments avec des &

Re: [..]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 16:31
par GaRydelaMer
Bonjour

Code : Tout sélectionner

$Program = "C:\Program Files\Fortinet\SSLVPNclient\FortiSSLVPNclient.exe"
ou
$Program = 'C:\Program Files\Fortinet\SSLVPNclient\FortiSSLVPNclient.exe'

$params = "connect  -h " & $VPNSRV & " -u " & $username & ":"  & $Password
Ou si tu as des espaces dans le nom ou mot de passe
$params = "connect  -h " & $VPNSRV & " -u """ & $username & """:"""  & $Password & """"
ou
$params = "connect  -h " & $VPNSRV & ' -u "' & $username & '":"'  & $Password & '"'

ShellExecute ($Program, $params)

Re: [..]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 16:55
par hakim
hello !!

Waou !! :shock:

j'en les yeux qui pleurs , je vais essayer ça de suite.... :cry:
j'ai que des galères depuis ce matin, je suis au bord de la crise de nerf !!

Bon allez j'essaye et je vous tiens au courant !!

Merci à tous !!

Re: [R]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 17:03
par hakim
ok !!
ça marche nickel !!

Et pourquoi avec la methode que j'utilisais ne fonctionne pas ? c'est la synthaxe ou autre chose ?

****


Bon ben chapeau, vraiment !!
C'est peut etre pas grand chose pour toi, mais alors pour moi c'est énorme !!

ça me laisse penser que je vais vraiment perdre le reste de mes cheveux pour la suite de mon script !! :mrgreen:

Mais bon, si je m'en sort vivant, je vais être une bête en Autoit !! enfin une petite bête !!

Merci Mille fois !!

Re: [..]Aide sur le passage de parametre via Commande RUN

Posté : lun. 11 mai 2009 17:16
par Iste
Ton probleme est bien la syntaxe
Comme expliqué dnas mon precedant post, en autoit faut tout ecrir a la suite séparé par des &

Code : Tout sélectionner

$variable & $variable & "chaine de caractere" & fonction() & (5+8)
(ce qui vaudra pour $variable = 5 et fonction renvoyant "chat !!" : 55chaine de caracterechat !!13 )

Les seul guillet a utiliser sont pour délimiter des chaines de caracteres (et non pas a placer un peu partout pour faire beau, car je ne leur vois pas d'autre utilité dans ta ligne de commande ^^)