Incrémenter variable sur 2 caractères - Shell/Batch - Programmation
Marsh Posté le 18-09-2009 à 09:01:09
en shell oui, en dos, je sais pas faire simplement... mais tu peux sans doute simplement faire un "si %variable% < 10 alors variable="0"%variable%"
j'ai pas mieux, désolé.
Marsh Posté le 18-09-2009 à 11:20:26
pataluc a écrit : en shell oui, en dos, je sais pas faire simplement... mais tu peux sans doute simplement faire un "si %variable% < 10 alors variable="0"%variable%" |
Merci pour cette astuce, mais j'ai un souci et je ne comprends pas...
Avec :
@echo off
set variable=0
: Boucle
set /a variable+=1
if /i %variable% equ 15 goto :eof
if /i %variable% lss 8 set variable=0%variable%
echo %variable% >> toto.txt && goto Boucle
j'obtiens :
01 02 03 04 05 06 07 8 9 10 11 12 13 14 => normal
mais avec :
@echo off
set variable=0
: Boucle
set /a variable+=1
if /i %variable% equ 15 goto :eof
if /i %variable% lss 9 set variable=0%variable%
echo %variable% >> toto.txt && goto Boucle
j'obtiens :
01 02 03 04 05 06 07 08 01 02 03 04 05 06 07 08 01 etc... ça tourne dans le vide !
j'ai fait un truc mauvais ???
Marsh Posté le 18-09-2009 à 11:49:03
oui mais avec ça, jamais j'écris %variable% ???
c'est étrange car mon script ne fonctionne pas quand j'arrive vers 8 ou 9 ??? c'est peut-être en rapport avec la notation octale ou un truc du genre ??? j'suis perdu là... mais merci pour ton aide pataluc
Marsh Posté le 18-09-2009 à 11:53:24
car en descendant j'ai le même souci
Avec :
@echo off
set variable=21
: Boucle
set /a variable-=1
if /i %variable% equ 0 goto :eof
if /i %variable% lss 10 set variable=0%variable%
echo %variable% >> toto.txt && goto Boucle
J'obtiens :
20 19 18 17 16 15 14 13 12 11 10 09 0-1 0-1 0-1 0-1etc... ça tourne dans le vide ???
Marsh Posté le 18-09-2009 à 13:01:48
Hey mais ça marche, comment se fait-il que tu ne sois pas gêné par la notation octale ?
Je teste ça en profondeur et te redis...
Merci beaucoup pataluc ;-)
Marsh Posté le 17-09-2009 à 17:35:49
Bonjour,
Petite question simple mais que je ne sais résoudre :
Comment incrémenter une variable sur 2 caractères ?
@echo off
set variable=0
: Boucle
set /a variable+=1
if /i %variable% equ 10 goto :eof
echo %variable% && goto Boucle
je souhaiterai obtenir 01, 02, 03..., 10 et non 1, 2, 3..., 10
J'ai cherché partout mais je ne trouve pas...
Merci