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

Résolu/Fermé
vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020 - 17 juil. 2017 à 23:16
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 18 juil. 2017 à 00:37
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

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
17 juil. 2017 à 23:25
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
vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020 16
Modifié le 17 juil. 2017 à 23:43
envoyé
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
17 juil. 2017 à 23:25
bonsoir, et ainsi:
set f2=%f1%
echo %f2% 

0
vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020 16
17 juil. 2017 à 23:30
c'est une solution que je ne peux pas utiliser ca ce n'est pas toujours f1 qui est utilisé
0
Moi je sais pas je connais pas bien Batch, je savais que faire de faux virus désolé :/
0
vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020 16
17 juil. 2017 à 23:40
@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
vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020 16
Modifié le 17 juil. 2017 à 23:42
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
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020
18 juil. 2017 à 00:04
::affichage des infos de la statistique sélectionnée

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

pause

cls

echo selection : !menud!

pause
0
vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020 16 > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
18 juil. 2017 à 00:09
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
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020
18 juil. 2017 à 00:15
La variable f%menu% correspond à un fichier texte, non ?
0
vayleme Messages postés 86 Date d'inscription mardi 27 juin 2017 Statut Membre Dernière intervention 11 novembre 2020 16 > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
18 juil. 2017 à 00:19
%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