[Batch] Afficher variable.

Résolu
Bonjour,
Je voudrait afficher une variable qui est dans une variable.
Je m'explique:

@echo off
set nbr=X

set var1=patate.au.fromage
set var2=tartiflette.au.fromage
set var1=raclette.au.fromage
set var4=patte.au.fromage

echo %var%nbr%:~0,4%

pause


Et si a la place de X je met :
- 1 sa m'affiche patat
- 2 sa m'affiche tarti
- 3 sa m'affiche racle
- 4 sa m'affiche patte
Voila je voudrait faire sa.
Si quelqu'un a une idée je suis preneur.

Bilou.

Donc voila.
Bilou.

--
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
Configuration: Windows XP
Firefox 3.0.7

10 réponses

  1. Contributeur
    Salut!

    Je t'ai pondu ce petit truc:

    @echo off
    set /p nbr= Entrez le nombre:
    set var1=0
    set var2=0
    set var4=0
    if %nbr%== 1 (set var1=patate)
    if %nbr%== 2 (set var2=tarti)
    if %nbr%== 3 (set var1=raclette)
    if %nbr%== 4 (set var4=patte)

    if not %var1%==0 (echo %var1%)
    if not %var2%==0 (echo %var2%)
    if not %var4%==0 (echo %var4%)
    pause


    1. C'est super sympa mais je suis un chieur je suis pas encore content :p.
      Enfaite je te refait mon script.

      @echo off
      set nbr=X
      
      set var1=patate.au.fromage
      set var2=tartiflette.au.fromage
      set var1=raclette.au.fromage
      set var4=patte.au.fromage
      
      echo %var%nbr%:~0,Y%
      
      pause

      Alors voila X et Y peuvent changer.
      C'est sa le problème.
      Je suis vraiment dans la merde car je suis en train de faire un sorte de jeux en batch et enfaite X et Y se sont mes coordonnées.

      Donc si tu une solution je suis preneur.

      Bilou.
      1. bonsoir je veut vous aidez ca me fait plaisire :-]

        1.le X dans ton script n'est pas un variable le variable est Nbr par ce que t'a fait [Set nbr=X]
        et ca valeur est le [X]

        2.je voix que script du GOOGX est tres bien ! ou est le problem es que tu peut m'explique un peut mieux svp ?

        script de .:GooGx
        [
        @echo off
        set /p nbr= Entrez le nombre:
        set var1=0
        set var2=0
        set var4=0
        if %nbr%== 1 (set var1=patate)
        if %nbr%== 2 (set var2=tarti)
        if %nbr%== 3 (set var1=raclette)
        if %nbr%== 4 (set var4=patte)

        if not %var1%==0 (echo %var1%)
        if not %var2%==0 (echo %var2%)
        if not %var4%==0 (echo %var4%)
        pause
        ]
        1. Enfaite je suis en train de faire un jeux un sorte de labyrinthe.
          Voici ma version test:

          Sa c'est le Lvl 1
           set lvl1-1=ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
           set lvl1-2=ÛÛÛÛÛÛÛÛÛÛÛÛ      ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
           set lvl1-3=ÛÛÛÛÛÛÛÛÛÛÛ   ÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
           set lvl1-4=ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
           set lvl1-5=ÛÛÛÛÛ       ÛÛÛÛÛ                  
           set lvl1-6=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
           set lvl1-7=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
           set lvl1-8=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
           set lvl1-9=ÛÛÛÛÛ   ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
          set lvl1-10=ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
          set lvl1-11=ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
          set lvl1-12=ÛÛ      ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
          set lvl1-13=ÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ


          Donc au début on se trouve sur :
          y=13(13eme ligne)
          x=3(3eme caractere)
          Donc je demande de afficher les 12 premier ligne (vue qu'on commence sur la 13ieme ligne).
          Ensuite on est sur le 3eme caractère de la 13ieme ligne donc je lui demande de afficher la 13ieme, mais que les 2 premier caractère.
          Ensuite le met un "0"(le joueur qui se déplace).
          Et je lui demande de afficher du 4eme caractère a la fin.

          Voila je sais pas si tu ma bien comprit mais voila le truc en faite.
          Et donc c'est pour afficher X que sa bug :
            echo !lvl1-!y!:~0,!x.moins.1!! 0 !lvl1-!y!:~!x!,32!


          Bilou.
          1. Problème résolue merci quand même de m'avoir aider.

            Bilou.
            1. bon soire je croit avoir comprandre ce que tu vien de faire mais j'ai pas compris cette lign

              echo !lvl1-!y!:~0,!x.moins.1!! 0 !lvl1-!y!:~!x!,32!

              ????
              comment tu tente de capté les touche clavie en dos et de calculez les nouvelle x et y ??
              (le deplacement )

              es que ton jeut est entierement sous dos !!!??? :-|
              1. salut je trouve ton projet cool bonne chance :-]
                es que tu peut m'aidez un peut :-]
                g ecris dans un bach ton script :

                @echo off
                set l-1=ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-2=ÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-3=ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-4=ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-5=ÛÛÛÛÛ ÛÛÛÛÛ
                set l-6=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-7=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-8=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-9=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-10=ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-11=ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-12=ÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                set l-13=ÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
                for /L %%a in (1,1,13) do echo %l-%%a%

                pause

                ca m'affiche commad echo desactivé pour quoi ???
                1. Tien je les déjà fini.
                  Tu peut le télécharger ici:
                  http://mininerdz.olympe-network.com/Games%20By%20Bilou%20V2.2.zip

                  Amuse toi bien.
                  Bilou.