Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1652 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Incrémenter variable sur 2 caractères

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Incrémenter variable sur 2 caractères

n°1924887
-Kevin-
Posté le 17-09-2009 à 17:35:49  profilanswer
 

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

mood
Publicité
Posté le 17-09-2009 à 17:35:49  profilanswer
 

n°1924909
-Kevin-
Posté le 17-09-2009 à 19:02:27  profilanswer
 

y a bien quelqu'un qui sait comment faire, SVP !

n°1924977
pataluc
Posté le 18-09-2009 à 09:01:09  profilanswer
 

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

Message cité 1 fois
Message édité par pataluc le 18-09-2009 à 09:01:29
n°1925013
-Kevin-
Posté le 18-09-2009 à 11:20:26  profilanswer
 

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%"
j'ai pas mieux, désolé.


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 ???

n°1925018
pataluc
Posté le 18-09-2009 à 11:39:08  profilanswer
 

passe par une autre variable (une variable valeur, une variable affichage)

 

genre

Code :
  1. @echo off
  2. set variable=0
  3. : Boucle
  4. set /a variable+=1
  5. if /i %variable% equ 15 goto :eof
  6. if /i %variable% lss 9 set variable2=0%variable%
  7. echo %variable2% >> toto.txt && goto Boucle


Message édité par pataluc le 18-09-2009 à 12:53:57
n°1925021
-Kevin-
Posté le 18-09-2009 à 11:49:03  profilanswer
 

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

n°1925027
-Kevin-
Posté le 18-09-2009 à 11:53:24  profilanswer
 

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 ???

n°1925054
pataluc
Posté le 18-09-2009 à 12:53:46  profilanswer
 

ca ca marche (pour l'incrémental)

Code :
  1. @echo off
  2. set variable=0
  3. :Boucle
  4. set /a variable+=1
  5. if /i %variable% equ 15 goto :eof
  6. set variable2=%variable%
  7. if /i %variable% lss 10 set variable2=0%variable%
  8. echo %variable2%
  9. goto Boucle

n°1925056
-Kevin-
Posté le 18-09-2009 à 13:01:48  profilanswer
 

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 ;-)

n°1925073
pataluc
Posté le 18-09-2009 à 14:02:56  profilanswer
 

c'est surtout que sans le

Code :
  1. set variable2=%variable%

avant le second if, variable2 n'était pas modifié... ya rien de magique.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Incrémenter variable sur 2 caractères

 

Sujets relatifs
Modifier la valeur d'une borne variable d'une boucle for...Modifier une variable globale depuis un userform.
Accents remplacé par caractères spéciauxConvertir un série de caractères pour le charset UTF-8
Webservice SOAP - passage du contenu d'un fichier en variableafficher (avec JavaScript) les caractères correspondants aux codes
Transmission de variable[RESOLU] Acc. 2000 Export XL : contourner la limite de 255 caractères
Variable javascript.. elle me rendent dingue ; help.titre variable pour un graph
Plus de sujets relatifs à : Incrémenter variable sur 2 caractères


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR