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 ....
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 & '"')