Page 1 sur 1

Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 10:19
par janken
Bonjour a tous,

Je veux creer un script qui va recuperer une variable donné par l'utilisateur et une autre qui est la variable username extraite par Autoit

La commande est presente de la maniere suivante
server-command set-user-property User1 username-alias User2

Voici le code que j'ai utiliser pour que User1 soit donné par l'utilisateur et User2 recuperer par @username

Code : Tout sélectionner

#include <MsgBoxConstants.au3>

   ;Papercut User name
   Local $PapercutUserName = InputBox("Login Papercut","Entrez votre Login Papercut","Ici")

   ;WindowsUserName
   Local $WinUsername = @UserName
      

   ;Execution du server command
   Run("C:\Program Files\PaperCut MF\server\bin\win\server-command.exe" set-user-property "& $PapercutUserName &" username-alias & $Winusername")

Quand je l'execute sans variable elle marche bien, j'ai meme reussi a l'execute avec la variable PapercutUserName, mais depuis que j'ai rajouter le Username windows, erreur sur erreur

J'ai fouillé et refouillé je ne comprends

Please Help!

Re: Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 13:07
par Tlem
Bonjour.

Votre ligne Run n'est pas formatée comme il faut. Essayez :

Code : Tout sélectionner

Run("C:\Program Files\PaperCut MF\server\bin\win\server-command.exe set-user-property " & $PapercutUserName &" username-alias " & $Winusername)
ou

Code : Tout sélectionner

ShellExecute("C:\Program Files\PaperCut MF\server\bin\win\server-command.exe", "set-user-property " & $PapercutUserName &" username-alias " & $Winusername)

Re: Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 14:34
par janken
Je crois avoir trouvé, en fait ma variable username possede un espace(prenom nom)
Ce qui fait que la commande commande ne sais pas la traiter

Probleme si je met entre guillemet il transforme la variable en valeur texte ...

Comment faire en sorte que cette valeur

En fait sans variable ca donne ca

C:\Program Files\PaperCut MF\server\bin\win\server-command.exe set-user-property olivier username-alias "olivier dupont"

Et avec l'autoIt il l'execute ainsi

C:\Program Files\PaperCut MF\server\bin\win\server-command.exe set-user-property olivier username-alias olivier dupont.

Mais la commande n'apprecie pas l'espace et plante

Merci de votre aide

Re: Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 14:59
par Tlem
Utilisez les guillemets simple pour entourer les commandes et les guillemets doubles pour entourer les arguments.

Re: Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 16:28
par janken
Je viens d'essayer mais ca ne marche toujours pas ....

Image


si je met des guillemet il me transforme en valeur fixe...

Re: Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 17:53
par Tlem
Comme ceci :

Code : Tout sélectionner

ShellExecute('C:\Program Files\PaperCut MF\server\bin\win\server-command.exe', 'set-user-property "' & $PapercutUserName & '" username-alias "' & $Winusername & '"')

Re: Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 22:25
par janken
super merci ca fonctionne,

par contre je pousse un peu ...

La j'essaie de le cumuler a un psexec ... mais ca n'a pas l'air de prendre

Code : Tout sélectionner

Run(@comspec & ' /c Psexec.Exe \\192.168.0.44 -u admin -p password "C:\Program Files\PaperCut MF\server\bin\win\server-command.exe"', 'set-user-property "' & $PapercutUserName & '" username-alias "' & $Winusername & '"')

Si vous voyez ce qui cloche, je n'ai meme pas la boite dos qui s'ouvre

Re: Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 22:45
par Tlem
Oui encore un problème avec les guillemets je pense.
Testez votre ligne dans SciTE.

Re: Execution d'une commande avec 2 variables

Posté : mer. 11 nov. 2020 23:15
par janken
Je suis un peu novice mais je ne vois pas a quel endroit je peux tester la ligne.

Quand je compile il ne voit pas d'erreur

Re: Execution d'une commande avec 2 variables

Posté : jeu. 12 nov. 2020 11:35
par Tlem
Ben une ligne de commande ShellExecute est différente de celle d'un Run. ^^
A l'arrache, essayez ceci :

Code : Tout sélectionner

Run(@comspec & ' /c Psexec.Exe \\192.168.0.44 -u admin -p password "C:\Program Files\PaperCut MF\server\bin\win\server-command.exe set-user-property" "' & $PapercutUserName & '" username-alias "' & $Winusername & '"')