écrire le contenu d'une variable avec une autre variable
Résolu
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
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
-
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 ?
-
Contributeurbonsoir, et ainsi:
set f2=%f1% echo %f2%
-
@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
-
-
@vayleme
::affichage des infos de la statistique sélectionnée
set menud=f%menu%
pause
type !menud!
pause
cls
echo selection : !menud!
pause -
@barnabe0057
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. -
@vaylemeLa variable f%menu% correspond à un fichier texte, non ?
-
@barnabe0057%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")
-