Set /a pour les lettre [Fermé]

- - Dernière réponse :  lttl60 - 28 août 2011 à 00:34
Bonjour,
voila mon problème
je coner set /a variable=%variable%+1
en commande dos pour ajouter 1 a une variable
mai je recherche l'équivalent pour les lettre
merci


Afficher la suite 

10 réponses

Messages postés
925
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
111
0
Merci
Bonsoir,

Qu'entends-tu par:

je coner set /a variable=%variable%+1
en commande dos pour ajouter 1 a une variable
mai <gras>je recherche l'équivalent pour les lettre </gras>

Quel résultat comptes-tu obtenir en ajoutant une valeur numérique à une variable non numérique ?

Par exemple:
SET "Variable=a"
Ajout de la valeur 1 à %Variable% = ???????
Messages postés
104
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
28 septembre 2011
9
0
Merci
Bonjour,

Si ce que tu cherches à faire est de modifier la variable comme ceci :
A -> B -> C -> etc...

Le seul moyen existant en batch est de le faire à l'aide d'une boucle for

FOR %%variable IN (a,b,c,d,e,f,g) DO (ECHO %%variable)


Tu peux ensuite rajouter des conditions suivant ce que tu cherches à récupérer.
0
Merci
je n'arrive pas a faire fonctionner ton code
je ne comprend pas le fonctionnement

il ne trouve pas variable2 (h)
set variable2=h

:boucle
if %variable%==%variable2% ECHO %variable%
FOR %variable% IN (a,b,c,d,e,f,g) DO (ECHO %variable%)
goto boucle
Messages postés
104
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
28 septembre 2011
9
0
Merci
C'est normal. La condition "IF" se trouve avant le "FOR"
Globalement, il teste si la variable est égale à "h",
Ensuite il passe dans le FOR et à chaque passage il affichera la nouvelle valeur de %variable%.
Une fois la boucle FOR terminée, %variable% contiendra "g" et retournera à ":boucle" et ainsi de suite

Déjà, ne met pas "%variable%" mais bien "%%variable". (J'avoue ne plus en connaître la raison exact.)
Pour tester la condition IF, il faut simplement la mettre dans la boucle for. C'est à dire;

FOR %%variable IN (a,b,c,d,e,f,g) DO (IF %%variable==%variable2% (ECHO %%variable))

0
Merci
je n'arrive a rien sa plante a chaque foi donne moi toute les ligne stp ou un site


set lettre=h
echo %lettre%
pause




:boucle
for "%%varialbe" in (a,b,c,d,e,f,g) do (if %%varialbe==%lettre% (echo %%varialbe))
goto boucle
Messages postés
925
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
111
0
Merci
Bonsoir,

Essaie celà:

set "lettre=h"
echo Lettre recherchee: %lettre%
pause

rem :boucle ==> FOR EST DEJA UNE BOUCLE EN SOI.
rem for "%%varialbe" in (a,b,c,d,e,f,g) do (if %%varialbe==%lettre% (echo %%varialbe))

  FOR      %%I    IN (a,b,c,d,e,f,g,h)  DO       ( 
       IF  %%I        ==        %lettre%        ( 
             echo Lettre trouvee: %%I           ))

rem goto boucle

 PAUSE 
 GOTO   :EOF

Cordialement.
Cchristian.
0
Merci
juste une dernier question comment utiliser plus loin cette variable
Messages postés
925
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
111
0
Merci
Bonsoir,

Désolé pour le temps mis à répondre, j'étais absent cette semaine.

rem Initialisation da la variable de sauvegarde ici Pres_Var:
SET  "Pres_Var="
FOR      %%I    IN (a,b,c,d,e,f,g,h)  DO       (
       IF  %%I        ==        %lettre%        (
rem Préservation du contenu de la variable %%I dans une
rem  variable classique: ici Pres_Var. En effet, %%I ne peut être utilisée que dans le corps de la boucle/commande FOR (comme dans le test précédent par exemple). D'où la nécessité de préserver son contenu pour une utilisation hors de la portée de la boucle/commande FOR (voir exemple ci-dessous).
             SET  "Pres_Var=%%I"
             echo Lettre trouvee: %%I           ))

.....................
.....................
rem  Par exemple: utlisation de la variable Pres_Var dans un IF: 
IF  "%Pres_Var%"              ==  ""           (
     echo Lettre %lettre% non trouvee.    )
.....................
.....................


0
Merci
Le problème c que je souterer l'utiliser tout le long du fichier
0
Merci
désoler mai c bon merci de tes renseignement et de ta paciens