Page 1 sur 1

[..] Récuperer la valeur d'une inputbox

Posté : sam. 27 juin 2015 22:35
par eyesandpixels
Bonjour,
je cherche à pouvoir passer en paramètre la valeur contenue dans mon inputbox :
Je pars de ça brièvement :

Code : Tout sélectionner

Local $sLecteur = InputBox("Lecteur de stockage :", "Enter la lettre du lecteur de destination : ", "C:\", " ")
 
Pour pouvoir appliquer cette commande :

Code : Tout sélectionner

RunWait(@ComSpec & ' /k ""C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe"/local /xml=$sLecteur"')
Cette commande ne me génère aucun fichier mais :

Code : Tout sélectionner

RunWait(@ComSpec & ' /k ""C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe"/local /xml=C:\"')
Me génère bien le résultat attendu.
Comment prendre en compte le répertoire indiqué dans inputBox ?

Merci d'avance

Re: Récuperer la valeur d'une inputbox pour une commande

Posté : sam. 27 juin 2015 23:53
par jguinch
Merci de modifier le titre du message afin qu'il respecte les règles de présentation d'un message.

Ce que tu cherches à faire s'appelle une concaténation.

Re: [..] Récuperer la valeur d'une inputbox

Posté : dim. 28 juin 2015 12:16
par eyesandpixels
Bonjour,
Demande remise en forme suivant règle du forum… sorry.
J'ai essayé de réaliser une concaténation mais impossible de trouver la syntaxe correcte à l'intérieur d'une ligne de commande :(

Code : Tout sélectionner

RunWait(@ComSpec & ' /k ""C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe"/local /xml=& $sLecteur"')
Ne fonctionne pas.

Merci.

Re: [..] Récuperer la valeur d'une inputbox

Posté : dim. 28 juin 2015 12:23
par mikell

Code : Tout sélectionner

;RunWait(@ComSpec & ' /k ""C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe"/local /xml=C:\"')

$sLecteur = "C:\"
RunWait(@ComSpec & ' /k ""C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe"/local /xml=" & $sLecteur')

Re: [..] Récuperer la valeur d'une inputbox

Posté : dim. 28 juin 2015 12:47
par eyesandpixels
Merci mikell,
J'avais déjà tenté cette forme :

Code : Tout sélectionner

RunWait(@ComSpec & ' /k ""C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe"/local /xml=" & $sLecteur')
Mais cela ne fonctionne pas. En fait :
[*] /local
[*] /xml=nom_de_lecteur
sont des paramètres attendus par : OCSInventory.exe
C'est bien pour cela que j'ai fait simple : /xml=C:\
Mais j'aurais voulu améliorer mon script en prenant en compte une variable de répertoire non écrite en dur dans le code.
Merci.

Re: [..] Récuperer la valeur d'une inputbox

Posté : dim. 28 juin 2015 14:09
par orax

Code : Tout sélectionner

$sLecteur = "C:\"

$sCmd = @ComSpec & ' /k "C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe" /local /xml="' & $sLecteur & '"'
ConsoleWrite($sCmd & @CRLF)

; alternative
$sCmd = StringFormat('%s /k "C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe" /local /xml="%s"', @ComSpec, $sLecteur)
ConsoleWrite($sCmd & @CRLF)

Re: [..] Récuperer la valeur d'une inputbox

Posté : dim. 28 juin 2015 14:45
par mikell
Oups :oops:
Désolé pour ma grossière erreur de guillemets ^^

Re: [..] Récuperer la valeur d'une inputbox

Posté : dim. 28 juin 2015 15:50
par eyesandpixels
mikell a écrit :Oups :oops:
Désolé pour ma grossière erreur de guillemets ^^
Aucun problème ; derrière un clavier se trouve encore un humain :)
orax a écrit :

Code : Tout sélectionner

$sLecteur = "C:\"

$sCmd = @ComSpec & ' /k "C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe" /local /xml="' & $sLecteur & '"'
ConsoleWrite($sCmd & @CRLF)

; alternative
$sCmd = StringFormat('%s /k "C:\Program Files (x86)\OCS Inventory Agent\OCSInventory.exe" /local /xml="%s"', @ComSpec, $sLecteur)
ConsoleWrite($sCmd & @CRLF)
Merci orax,
Mais

Code : Tout sélectionner

ConsoleWrite($sCmd & @CRLF)
ne semble pas comprendre la ligne de commande à exécuter… Pas d'ouverture de la fenêtre du shell.
Donc pas de fichier généré...
Merci à vous.
J'aimerai bien arriver à comprendre le passage de cette variable ???
Sinon je resterai avec un chemin en dur dans le script.
Cordialement