Incrémentation sans trop de déclaration

Aldrein -  
 Aldrein -
Salut,
Je voudrais incrémenter des variables sans avoir à toutes les déclarer 1 par 1, en l'occurrence avec des nombres binaires :


@echo off
color 0A
mode con cols=14

:boucle
for /l %%G in (1;1;16) do (
set /a !number~%%G! = %random%%%2
)
echo %number1%%number2%%number3%%number4% %number5%%number6%%number7%%number8% %number9%%number10%%number11%%number12%
goto boucle


Tous conseil est le bienvenu. :)

EDIT: Ajout de la coloration syntaxique.

1 réponse

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    quel est l'intention ? parce que un %RANDOM% dans une boucle FOR a toujours la même valeur, exemple:
    C:> for /L %a in (1,1,10) do @echo %a %RANDOM%
    1 6648
    2 6648
    3 6648
    4 6648
    5 6648
    6 6648
    7 6648
    8 6648
    9 6648
    10 6648
    0
    1. Aldrein
       
      Ah ... l'intention est de juste (oublions le random) incrémenté le nom des variables avec le loop for
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      quelque chose comme ça ?
      C:> for /l %a in (1,1,10) do @set b%a=xxx-%a
      C:> echo %b5%
      xxx-5
      C:> echo %b1%
      xxx-1
      C:> set b
      b1=xxx-1
      b10=xxx-10
      b2=xxx-2
      b3=xxx-3
      b4=xxx-4
      b5=xxx-5
      b6=xxx-6
      b7=xxx-7
      b8=xxx-8
      b9=xxx-9
      0
    3. Aldrein
       
      Ben en faite je voudrais pouvoir incrémenter le nom des variables genre que ca face : %var1% ; %var2% ; %var3% ; ... mais sans les déclarer 1 par 1 (juste incrémenter le numéro dans le nom)
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      C:> cc
      var1 = aaa
      var2 = bbb
      var3 = ccc
      var4 = ddd

      C:> type cc.bat
      @echo off
      setlocal enabledelayedexpansion
      set var1=aaa
      set var2=bbb
      set var3=ccc
      set var4=ddd
      for /L %%x in (1,1,4) do echo var%%x = !var%%x!
      0
    5. Aldrein > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Oui ! Mais sans les 4 déclarations avant :D :

      @echo off
      setlocal enabledelayedexpansion
      for /L %%x in (1,1,4) do echo var%%x = !var%%x!


      Merci pour ton aide !
      0