Créer une "commande windows"

Bonjour,

Je souhaiterais savoir comment faire en sorte qu'une commande par exemple machin appelle le programme machin.exe situé dans Program files, sans que j'aie besoin de déplacer l'exécutable dans system32. Est-ce possible ?

Merci d'avance,
Quadehar

25 réponses

  • Votes
  • Date
  • Date décroissante
Résumé de la discussion

Exécuter machin.exe situé dans Program Files par une commande sans le déplacer dans System32 est possible sous Windows Server 2003 en gérant le chemin et les paramètres. Une approche fréquente consiste à créer un fichier BAT dans System32 qui lance le programme avec Start et les paramètres (%1, %2, etc.), ou à lancer directement le chemin entre guillemets. Autre solution efficace : ajouter le répertoire du programme à la variable PATH afin d’appeler Machin.exe sans préciser le chemin complet, en veillant à entourer les chemins contenant des espaces. Une nuance utile: si le logiciel dépend de DLL situées dans son répertoire, il faut que ce répertoire reste accessible ou que le répertoire courant soit correctement défini pour éviter les erreurs.

Bobot (l’IA à votre service)
  1. Tu crees un fichier BAT dans le dossier system32 (machin.bat)
    tu mets dedans

    Start C:\Program Files\Machin\Machin %1

    %1 = Parametre

    Si tu marque : Machin -c fichier.html

    ca prendra que -c

    pour prendre un deuxième paramètre tu mets %2 ainsi dessuite jusqu'a %9.

    Start C:\Program Files\Machin\Machin %1 %2

    Si tu marque : Machin -c fichier.html

    ca prendra -c fichier.html

    Sinon tu laisse juste %1 mais quand tu fais ta commande tu marques Machin "-c fichier.html"

    J'espère que j'ai était clair, n'hésite pas à demander plus de renseignements :D

    Cdlt
    1. Pour les paramètres y a pas de soucis, tu n'es pas obligé de mettre les paramètres.

      Cependant, tu peux faire afficher une aide avec un /? si tu veux.

      @echo off

      if "%1"=="/?" goto help
      Start C:\Program Files\Machin\Machin %1 %2
      goto quit

      :help
      echo aide

      :quit

      Cdlt.
      1. Super, merci, ça a l'air de correspondre. Une simple question : admettons que je mettre %1 et %2 mais que lors de l'appel je ne transmets qu'un argument, ca marchera quand même ? (j'ai selon les cas un seul ou deux arguments à transmettre).
        1. Je vais te proposer 2 choses.

          Tu peux marquer dans Executer... machin -c fichier.html

          ou

          Dans une fenêtre DOS marquer mettre machin -c fichier.html

          Cdlt.
          1. A moins que tu fais un programme qui essaye de lancer un exécutable?
            1. Désolé, je n'ai malheureusement pas d'exemple concret.

              Cosmi : Je suis désolé, je ne comprends pas le rapport avec le sujet.

              Est-ce qu'en faisant un raccourcis vers mon .exe dns system32 cela peut marcher ? J'ai déjà essayé sans vraiment de résultat...
              1. Donc si j'ai bien compris, tu as un logiciel qui doit faire appel a ton machin.exe + argument en silencieux ? A quoi va te servir de pouvoir utiliser machin dans une commande à la place de C:\Program Files\Machin\Machin.exe ?

                J'ai du mal a te comprendre :D

                Cdlt
                1. Ancienne astuce pour accélérer le démarrage de Firefox.
                  Dans la zone de texte Cible des Propriétés du raccourci de Firefox ajouter : /Prefetch:1

                  >>>>>>> c:\Program Files\Mozilla Firefox\firefox.exe /Prefetch:1
                  1. sympa cette petite astuce
                    cool
                    greg1107
                2. t'as pas un exemple concret stp, ça serait plus parlant :)

                  merci

                  greg1107
                  1. L'idéal est que tout se passe silencieusement, puisque ce sera appelé par un autre logiciel en fait.
                    1. Bonjour,

                      j'aurai une petite question !

                      Ton prog machin.exe, tu veux le faire fonctionner comme une commande dos (Ex : Xcopy) se qui te renvoi les données dans la fenêtre DOS ou tu veux juste faire un appel de ton logiciel avec des paramètres (Ex : Firefox www.google.fr) se qui te lance ton application avec les paramètres?

                      Cordialament
                      1. crée une commande (O_o) c possible de faire sa !!! et bien dans ce cas la sa depasse mes capacités et je pence qu'il faudrait poster se sujet dans le forum programmation plutot
                        1. L'idée est de "créer" une commande comme celles déjà existantes dans la console windows (exemple : help, dir, etc...). Pour celles déjà existantes, il s'agit d'un .exe placé dans system32. Cependant, je souhaites créer une autre commande que je pourrais appeler de la même façon (c'est-à-dire juste avec machin et non machin.exe) quel que soit le répertoire courant de la console, et que ça m'appelle bien mon machin.exe avec les arguments demandés. Cependant, pour des raisons précises, je ne peux pas déplacer mon exécutable dans system32.
                          1. salut

                            si votre éxécutable ne demande pas des fichiers DLL contenant dans votre répertoire C:/program files/machine Donc , il suffit de copier l'executable machine.exe dans le répertoire système ( system32 ) et voilà ca tourne a merveille ...

                            sinon allez dans les variable d'envirennements et ajoutez le chemin de votre executable dans le variable PATH c-à-d :

                            PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem

                            tu met un point vergule ; suivi par votre chemin :

                            PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\machine

                            c tout ;)
                        2. a moi j'avais pas compris comme cela je pencais que il voulais avoir une copie de sont éxécutable dans le program file de facon a ce que le chemain soit plus simple si il l'utilise avec une commande
                          ( c'est pour sa que j'ai mis que je ne comprend pa trop bien le but de la manoeuvre)

                          quadehar si tu pouvais nous réexpliquer exactement car comme tu le vois c'est pas très clair dans nos esprit^^
                          1. je pense qu'il veut donc qu'en lançant la commande les attributs demandés soient appliqués au programme concerné dans les programmes files par exemple?

                            Est-ce bien ça la question?

                            greg1107
                            1. pk faire un batch il peut taper lui meme la commande ds la cmd

                              start machin.exe

                              je ne crois pas que se soit ca le probleme
                              1. Faire un Batch peut-être ?!?

                                title démarrer CCleaner_exemple
                                @echo off
                                cls
                                cd\
                                cd C:\Program Files\CCleaner
                                start CCleaner.exe
                                REM le pause tu le mets ou tu ne le mets pas c'est qui voit ;)
                                pause

                                --> copie-colle ça dans un document texte et mets une extension .bat à la place de .txt


                                greg1107
                                1. je reprend l'idée du raccourci en plus de ton idée si tu fais un raccourci de ton machin.exe sur ton bureau par exemple que après dans ta console tu tape la commande que tu souhaite en pointant sur ton racourci ton appli se lancera je pence (je n'ai pas éssayer c'est une idée)

                                  sinon copie colle ton éxecutable la ou tu le souhaite

                                  (je compren pas bien a quoi sa peut te servir mais bon chacun fais ce qui veut de son ordinateur ^^)
                                  • 1
                                  • 2