Incrémentation sans trop de déclaration

Fermé
Aldrein - Modifié par Aldrein le 31/05/2015 à 14:00
 Aldrein - 3 juin 2015 à 13:33
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

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
31 mai 2015 à 15:54
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
Ah ... l'intention est de juste (oublions le random) incrémenté le nom des variables avec le loop for
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 juin 2015 à 09:34
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
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
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 juin 2015 à 09:06
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
Aldrein > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
Modifié par Aldrein le 2/06/2015 à 21:41
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