écrire le contenu d'une variable avec une autre variable [Résolu/Fermé]

Signaler
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
-
Messages postés
13523
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juin 2021
-
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 ! =)

3 réponses

Messages postés
13523
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juin 2021
4 389
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
14
envoyé
Messages postés
16008
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 juin 2021
867
bonsoir, et ainsi:
set f2=%f1%
echo %f2% 

Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
14
c'est une solution que je ne peux pas utiliser ca ce n'est pas toujours f1 qui est utilisé
Moi je sais pas je connais pas bien Batch, je savais que faire de faux virus désolé :/
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
14
@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

Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
14 >
Messages postés
13523
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juin 2021

%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")
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
14 >
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020

MAIS le nom de fichier (que j'ai besoin de récupérer dans une variable pour afficher le contenu du fichier) contient le nom du fichier, que je souhaite faire apparaître (d'où le echo %%%menud%%% qui ne fonctionne pas) et le f%menu% (soit f2 si l'utilisateur à entré "2")
Messages postés
13523
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juin 2021
4 389 >
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020

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

set menud=!f%menu%!

type !menud!

pause

cls

echo selection : !menud!

pause
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020
14 >
Messages postés
13523
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juin 2021

Bingo !!

Mon dieu j'étais sûr que c'étais un truc tout simple dans ce genre xD
merci beaucoup beaucoup pour ton aide ! =)

le problème étant résolu, je clos le sujet, passes une excellente soirée ! =)
Messages postés
13523
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
13 juin 2021
4 389 >
Messages postés
86
Date d'inscription
mardi 27 juin 2017
Statut
Membre
Dernière intervention
11 novembre 2020

Merci bonne nuit.