[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. 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.
    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. 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. Problème résolue merci quand même de m'avoir aider.

          Bilou.
          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. 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. 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. 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