Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur commande batch

    20 mai 2017 à 22:19:03

    Aujourd'hui, je vient vous voir car je ne sais plus quoi faire.

    Alors voilà le problème :

    Je suis en train de programmer un chat (ici la version serveur), et je bloque

    sur le processus d'installation qui lance un script batch qui va lui

    faire une entre mon application et une extension. (grâce à regedit)

    et le problème vient lorsque je veut associer mon extension à mon application.

    car la valeur par à mettre pour cette clef est : "mon application" "%1".

    or pour faire le lien entre le programme (qui execute le scryptune seul au tous premier demarrage) et

    le scrypt, je reprend les valeurs %1 et %2 envoyer par le crypt.

    malheureusement, le scrypt ne reçoit pas tout.

    Je le sait car j'ai afficher cote programme et cote scrypt le meme parametre.

    et voici ce que je recoit a la console :

    console : "C:\Users\SCOTT\programmation\AppChat-server\bin\Debug\AppChat-server.exe" "%1"
    
    scrypt : "C:\Users\SCOTT\programmation\AppChat-server\bin\Debug\AppChat-server.exe"



    • Partager sur Facebook
    • Partager sur Twitter
      21 mai 2017 à 16:17:05

      Bonjour,

      peut-tu expliquer comment tu recuperes tes parametres dans le code?

      Si je comprends bien tu ecris:

      ma-commande un_argument

      et tu ne parviens pas a recuperer l'argument un_argument.

      • Partager sur Facebook
      • Partager sur Twitter
        21 mai 2017 à 17:53:31

        oui c'est exactement cela, en fait le scrypt bach recoit les variables

        "%1" et "%2" envoyer par le code c.

        Et donc le code c lui fait un :

        system("scrypt.bat param1 param2");

        .

        Au fait, je pensait faire un echo "param" "%1" > VAR

        HISTOIRE DE VOIR SI CA MARCHE.

        • Partager sur Facebook
        • Partager sur Twitter
          21 mai 2017 à 18:07:27

          .

          EDIT: j'avais pas vue que tu étais sous Windows.

          -
          Edité par Asot 21 mai 2017 à 18:10:51

          • Partager sur Facebook
          • Partager sur Twitter
            21 mai 2017 à 18:41:05

            Mais c'est quoi scrypt.bat?

            Comment tu déclares param1 et param 2

            • Partager sur Facebook
            • Partager sur Twitter
              22 mai 2017 à 18:44:13

              Ben le voici :

              @echo off
              set APP=%1 "%%1" ::premiere variable(emplacement de l'app+ "%1")
              set ICON=%2 ::emplacement de l'icon
              echo app = %APP%
              reg add HKCR\.appcs_cf /f
              reg add HKCR\AppChat-server_ConfigFiles /f
              reg add HKCR\.appcs_cf /ve /t REG_SZ /d "AppChat-server_ConfigFiles" /f
              reg add HKCR\AppChat-server_ConfigFiles\DefaultIcon  /f
              reg add HKCR\AppChat-server_ConfigFiles\DefaultIcon /ve /t REG_SZ /d %ICON% /f
              reg add HKCR\AppChat-server_ConfigFiles\shell  /f
              reg add HKCR\AppChat-server_ConfigFiles\shell\open  /f
              reg add HKCR\AppChat-server_ConfigFiles\shell\open\command  /f
              reg add HKCR\AppChat-server_ConfigFiles\shell\open\command /ve /t REG_SZ /d %APP% /f
              
              ::pour gerer les version windows 10 : 
              ver | find /i "version 10.0.1" > nul && if %errorlevel%==0 goto winten
              
              ie4uinit.exe -ClearIconCache
              goto end
              
              :winten
              ie4uinit.exe -show
              goto end
               
              :end
              
              
              
              Voilà!

              -
              Edité par scotthamilton 22 mai 2017 à 18:48:11

              • Partager sur Facebook
              • Partager sur Twitter
                22 mai 2017 à 18:50:34

                Et ton code c?

                A vrai dire je comprends pas ton probleme, peut tu le reexpliquer

                • Partager sur Facebook
                • Partager sur Twitter
                  23 mai 2017 à 16:07:13

                  Le code c le voici:

                  //Je coupe
                  
                  char batch[500]; //variable que j'envoie a system();
                  
                  char arg1[500]; //premier argument(chemin de l'app)
                  sprintf(arg1, "\"%s\"", argv[0]); //entre guillemet pour pouvoir l'envoyer en entier
                  
                  //je passe l'argument 2
                  
                  
                  sprintf(batch, "scrypt.bat %s %s", arg1, arg2);
                  
                  system(batch);

                  Voilà.

                  Et pour le probleme, en fait la console du scrypt recoit bien les deux valeurs mais elle

                  mais un "error syntax " reg add /? dès que je rajoute les fameux "%1" apres le chemin de l'app

                  (dans le scrypt).



                  • Partager sur Facebook
                  • Partager sur Twitter

                  erreur commande batch

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown