Page 1 sur 2

[..] Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 11:37
par Flomen
Pouvez-vous m'aider dans la codification de l'instruction Run pour exécuter le programme SyncBack, soit :
"C:\Program Files\2BrightSparks\SyncBack\SyncBack.exe" -m "Save D et F"
Merci

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 12:10
par zeshrek
ShellExecute ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )
ou
ShellExecuteWait ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 14:50
par Flomen
zeshrek a écrit :ShellExecute ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )
ou
ShellExecuteWait ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )
Merci pour votre rapidité, cependant, pouvez-vous m'en dire plus sur le passage des paramètres, dans mon cas, je doit passer les paramètres suivants :
-m "Save D et F" (problème avec " )
Merci

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 15:07
par Iste
La réponse de zeshrek coresspond parfaitement a votre demande.
Relisez la, et tant que vous y etes, lisez aussi les regles de présentation des messages

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 15:16
par zeshrek
Je veux bien qu'on ait tous commencé un jour, mais là...
La programmation demande quand même un minimum de connaissance (les codes ASCII par exemple) et de réflexion (si les guillemets servent de délimitateur de chaine comment faire pour mettre des guillemets dans la chaine ? Bin en les injectant via les codes ASCII ).
Bon, un petit code valant mieux qu'on long discourt :

Code : Tout sélectionner

$programme = "C:\Program Files\2BrightSparks\SyncBack\SyncBack.exe"
$parametres = "-m " & chr(34) & "Save D et F" & chr(34)
ShellExecuteWait ($programme , $parametres)

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 15:29
par Flomen
[..] Paramètres
Je ne comprends pas votre réponse, d'autre part, je j'utilise mal le forum, meric de me dire ce qui ne va pas plutot que de me donner un lien.
Mon problème avec le passage de paramètre est "
Mon paramètre est :
-m "Save D et F"
si je passe la syntaxe suivante ça ne fonctionne pas, j'ai une erreur (problème avec le nombre de "
ShellExecute ( "C:\Test.exe","-m "[Save D et F]""
Pouvez-vous me donner la syntaxe de la ligne ci-dessus ?
Merci, c'est ma 1ère journée sur ce forum

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 15:40
par zeshrek
Pour la ligne de commande, j'ai donné la réponse dans le message juste au dessus. Il y a 3 lignes de codes, il faut juste les lire.
Pour le fonctionnement du forum, n'étant pas modo, je laisserai ceux ci traiter de la question.

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 16:09
par Iste
Nan mais moi je vais juste supprimer le topic si ca continu hein...
Je l'ai pas déja fais car zeshrek a prit le temps de répondre, et que je trouve pas ca pas sympa de virer un message d'une personne qui prend son temps pour les autres.

Par contre,

@Flomen, premiere journée ou pas, cela ne vous empeche pas de lire le reglement. Ne me dites pas que c'est déja fais, j'aurai du mal a croire que vous ayez raté la ligne en rouge clignotant écrite en super gros au tout début.
Ca c'est pour la présentation de votre titre qui n'est toujours pas conforme au reglement.

Enfin, quand quelqu'un vous passe un code complet répondant a votre demande avec en plus des explication, c'est un minimum que d'y prêter attention.

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 16:37
par bloodwolff
comment faire pour mettre des guillemets dans la chaine ?
Il y a 2 sortes de délimiteur de chaîne donc une première méthode considte à utiliser l'autre délimiteur
Pour rappel les 2 délimiteurs sont ( ' " ) Donc

Code : Tout sélectionner

 msgbox(0,"" , 'Je met un 2 entre délimiteur "2"')
fonctionnera

Sinon on peut simplement doublé les délimiteur donc

Code : Tout sélectionner

 msgbox(0,"" , "Je met un 2 entre délimiteur ""2""")
fonctionnera aussi

Sinon il reste l'injection par ascii mais je préfère les 2 première méthodes

Re: Run Programme avec des paramètres

Posté : mar. 23 nov. 2010 16:50
par zeshrek
Ayant été habitué aux ASCII quand j'ai fait mes premiers pas en programmation (ca remonte a un peu plus de 25 ans) j'ai le réflexe de les utiliser, mais ta méthode est effectivement tout aussi valable bloodwolff.
En plus on y gagne sur le nombre de touches a taper ! (même si a mon sens on y perd en lisibilité)

Re: Run Programme avec des paramètres

Posté : jeu. 25 nov. 2010 17:31
par Flomen
Iste a écrit :Nan mais moi je vais juste supprimer le topic si ca continu hein...
Je l'ai pas déja fais car zeshrek a prit le temps de répondre, et que je trouve pas ca pas sympa de virer un message d'une personne qui prend son temps pour les autres.

Par contre,

@Flomen, premiere journée ou pas, cela ne vous empeche pas de lire le reglement. Ne me dites pas que c'est déja fais, j'aurai du mal a croire que vous ayez raté la ligne en rouge clignotant écrite en super gros au tout début.
Ca c'est pour la présentation de votre titre qui n'est toujours pas conforme au reglement.

Enfin, quand quelqu'un vous passe un code complet répondant a votre demande avec en plus des explication, c'est un minimum que d'y prêter attention.
[R] Résolu
Vous avez une manière de répondre qui est loin d’être sympathique

Re: Run Programme avec des paramètres

Posté : jeu. 25 nov. 2010 17:33
par Flomen
bloodwolff a écrit :
comment faire pour mettre des guillemets dans la chaine ?
Il y a 2 sortes de délimiteur de chaîne donc une première méthode considte à utiliser l'autre délimiteur
Pour rappel les 2 délimiteurs sont ( ' " ) Donc

Code : Tout sélectionner

 msgbox(0,"" , 'Je met un 2 entre délimiteur "2"')
fonctionnera

Sinon on peut simplement doublé les délimiteur donc

Code : Tout sélectionner

 msgbox(0,"" , "Je met un 2 entre délimiteur ""2""")
fonctionnera aussi

Sinon il reste l'injection par ascii mais je préfère les 2 première méthodes
[R] merci, ça fonctionne

Re: Run Programme avec des paramètres

Posté : jeu. 25 nov. 2010 17:38
par Flomen
zeshrek a écrit :Ayant été habitué aux ASCII quand j'ai fait mes premiers pas en programmation (ca remonte a un peu plus de 25 ans) j'ai le réflexe de les utiliser, mais ta méthode est effectivement tout aussi valable bloodwolff.
En plus on y gagne sur le nombre de touches a taper ! (même si a mon sens on y perd en lisibilité)
Tu gardes tes remarques fort désagréable pour toi, moi je n'ai 25 ans d'expérience dans le language VB, Cependant ta solution fonctionne mais tu pourrais dialoguer avec un peu plus de Fair-Play
Merci

Re: [..] Run Programme avec des paramètres

Posté : jeu. 25 nov. 2010 20:27
par zeshrek
heuuuu you are gentil garcon, mais mon mssage s'adressait a bloodwolff ! Je comparais les mérites respectifs de sa solution et de la mienne.

Mainetnant si tu as des commentaires a faire sur les qui t'ont repris sur ton respect des regles du forum, tu vois ca avec eux, et tu viens pas me chercher des poux !

Re: [..] Run Programme avec des paramètres

Posté : jeu. 25 nov. 2010 20:38
par Iste
Moi je pars du principe que comme j'ai comme consigne de supprimer tout les post mal formatés, je suis plutot sympa...

Re: [..] Run Programme avec des paramètres

Posté : jeu. 25 nov. 2010 21:37
par cutprod
Et en plus c'est la pleine lune en ce moment...
Même mon chien est super vénère...
Je sais pas pourquoi je m'en mêle ? Je vais me faire envoyer chier!

Re: [..] Run Programme avec des paramètres

Posté : ven. 26 nov. 2010 00:04
par noman
Bonsoir,

Il y a aussi la fonction _RunDos

Exemple :

Code : Tout sélectionner

#include <Process.au3>
$rc = _RunDos("start Http://www.autoitscript.com")
L'avantage de _RunDos est qu'il utilise les commandes silencieusement.

Edit : correction apportée, merci TLem.

Re: [..] Run Programme avec des paramètres

Posté : ven. 26 nov. 2010 07:32
par Tlem
_RunDos n'est pas une API. C'est juste une fonction qui ce trouve dans process.au3. :roll:

Code : Tout sélectionner

; #FUNCTION# ====================================================================================================================
; Name...........: _RunDOS
; Description ...: Executes a DOS command in a hidden command window.
; Syntax.........: _RunDOS($sCommand)
; Parameters ....: $sCommand - Command to execute
; Return values .: Success      - the exit code of the command
;                  Failure      - 0 and sets @Error to non-zero
; Author ........: Jeremy Landes <jlandes at landeserve dot com>
; ===============================================================================================================================
Func _RunDOS($sCommand)
    Local $nResult = RunWait(@ComSpec & " /C " & $sCommand, "", @SW_HIDE)
    Return SetError(@error, @extended, $nResult)
EndFunc   ;==>_RunDOS

Re: [..] Run Programme avec des paramètres

Posté : ven. 26 nov. 2010 09:52
par vincm70
Bonjour ,
Moi j'ai le meme probleme.
Je veut executer cette commande correspondant a un exécutable dans copssh:

"C:\Program Files\ICW\bin\mkpasswd.exe" -l > "C:\Program Files\ICW\etc\passwd"

J'ai essayer ceci:

Code : Tout sélectionner

$chemin= '"C:\Program Files\ICW\etc\passwd"'

$programme = "C:\Program Files\ICW\bin\mkpasswd.exe"
$parametres = "-l " & chr(34) & $chemin & chr(34)
ShellExecuteWait ($programme , $parametres)
 
Je précise que cette commande marche correctement dans un fichier. *.bat

Merci si quelqu'un a la patienec de m'aider.

Re: [..] Run Programme avec des paramètres

Posté : ven. 26 nov. 2010 10:20
par zeshrek
tu y es presque vincm70 !
Je veut executer cette commande correspondant a un exécutable dans copssh:
"C:\Program Files\ICW\bin\mkpasswd.exe" -l > "C:\Program Files\ICW\etc\passwd"
J'ai essayer ceci:
$chemin= '"C:\Program Files\ICW\etc\passwd"'
$programme = "C:\Program Files\ICW\bin\mkpasswd.exe"
$parametres = "-l " & chr(34) & $chemin & chr(34)
ShellExecuteWait ($programme , $parametres)
Tu as oublié le '>' dans $parametres
$parametres = "-l > " & chr(34) & $chemin & chr(34)