écrire le contenu d'une variable avec une autre variable

Résolu
vayleme Messages postés 91 Statut Membre -  
barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,

Pour la deuxième fois ce soir, j'ai besoin d'aide car je suis bloqué dans le développement d'un programme en batch.

Je n'arrive pas à afficher le contenu d'une variable à partir d'une autre variable. Je m'explique,

f1=exemple
f2=f1

j'aimerais pouvoir faire afficher "exemple" sans utiliser la variable f1 .

Alors, c'est un peu du bricolage mais j'ai bêtement essayé
echo %%%f2%%%
mais malheureusement, cette commande me renvoie " %f1% " et pas " exemple " comme je l'aimerais.

J'espère que vous pourrez m'aider ! =)

--
Cordialement,
Vayleme

3 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Re,

    Je ne comprend pas très bien, est-ce que tu peux poster tout ton code et montrer la partie qui ne fonctionne pas ?
    1
    1. vayleme Messages postés 91 Statut Membre 16
       
      envoyé
      0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonsoir, et ainsi:
    set f2=%f1%
    echo %f2% 

    0
    1. vayleme Messages postés 91 Statut Membre 16
       
      c'est une solution que je ne peux pas utiliser ca ce n'est pas toujours f1 qui est utilisé
      0
    2. Libellule
       
      Moi je sais pas je connais pas bien Batch, je savais que faire de faux virus désolé :/
      0
  3. vayleme Messages postés 91 Statut Membre 16
     
    @echo off
    modecon cols=80
    title stats
    cls

    ::-------------------------

    echo Bienvenue dans ton registre !
    echo.
    echo.
    :debut

    ::test si il existe des stats
    for %%a in (%cd%\*.txt) do set stats=%%a
    if "%stats%" neq "" (goto stats)

    echo enregistrez vos premieres donnees
    goto register_stats

    ::étiquette menu des stats
    :stats

    ::afficher les stats enregistrées
    Setlocal enableextensions enableDelayedExpansion

    set dossier=%cd%

    cd /d %dossier%

    set /a num=0

    for /f "tokens=*" %%A in ('dir /b /a-d "*.txt"') do (
    set /a num+=1
    set f!num!=%%~nxA
    echo !num!=%%~nxA
    )

    set /a nbrdj = !num!

    ::options du menu
    ::e==>quitter / n==>nouvelles stats / 3 à x==>infos des stats

    ::étiquette nombre non valide
    :err

    echo merci d'entrer un caractere valide
    set /p menu=

    ::traitement du "e" et du "n"
    if "%menu%" == "e" (exit)
    if "%menu%" == "n" (goto register_stats)

    ::retour en arrière pour ceux qui s'amusent à rentrer un caractère non valide

    if %menu% lss 1 (echo err)

    if %menu% gtr %nbrdj% (echo err)

    ::affichage des infos de la statistique sélectionnée

    set menud=f%menu%
    pause
    echo %%%menud%%%
    echo %f1%
    pause

    cls

    echo selection : %menud%

    pause

    ::--------------------------------------------------------------

    ::enregistrement de nouvelles stats
    :register_stats
    set /p djname=quel est le nom de la statistique ?
    echo %djname% > %cd%\%djname%.txt

    [Contenu du fichier de la stats]

    timeout /nobreak /t 003 >nul
    pause

    0
    1. vayleme Messages postés 91 Statut Membre 16
       
      la partie en gras est celle où j'ai besoin d'exprimer f1 (qui contient le nom de la statistique que j'ai sélectionné plus tôt dans le menu) sans modifier f1, ni l'utiliser, car ca peut être f2, f3, f4 .....
      0
    2. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > vayleme Messages postés 91 Statut Membre
       
      ::affichage des infos de la statistique sélectionnée

      set menud=f%menu%
      pause
      type !menud!

      pause

      cls

      echo selection : !menud!

      pause
      0
    3. vayleme Messages postés 91 Statut Membre 16 > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
       
      type !menud!


      cette commande renvoie "le fichier spécifié est introuvable".

      la variable f* contient un texte qui correspond au nom du fichier statistique sélectionné, mais ce n'est pas un chemin de fichier.
      0
    4. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > vayleme Messages postés 91 Statut Membre
       
      La variable f%menu% correspond à un fichier texte, non ?
      0
    5. vayleme Messages postés 91 Statut Membre 16 > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
       
      %menu% est de base l'entrée de l'utilisateur dans le menu . cette entrée est soit un chiffre (entre 1 et %nbrdj% (qui correspond au nombre de fichiers statistiques)) soit la lettre e (qui permet de quitter le menu) soit la lettre n qui permet de créer un nouveau fichier statistique . si l'entrée de l'utilisateur est 2, le but est d'afficher les données précises que contient le fichier statistiques numéro 2 (les fichiers sont numérotés dans la partie "afficher les stats enregistrées")
      0