Set /a pour les lettre

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

10 réponses

  1. cchristian Messages postés 928 Statut Membre 131
     
    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% = ???????
    0
  2. Logitux Messages postés 111 Statut Membre 8
     
    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
  3. lttl60
     
    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
    0
  4. Logitux Messages postés 111 Statut Membre 8
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lttl60
     
    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
    0
  7. cchristian Messages postés 928 Statut Membre 131
     
    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
  8. lttl60
     
    juste une dernier question comment utiliser plus loin cette variable
    0
  9. cchristian Messages postés 928 Statut Membre 131
     
    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
  10. lttl60
     
    Le problème c que je souterer l'utiliser tout le long du fichier
    0
  11. lttl60
     
    désoler mai c bon merci de tes renseignement et de ta paciens
    0