Récupérer la valeur de plusieurs variables

Résolu/Fermé
azerty_9138
Messages postés
53
Date d'inscription
dimanche 17 novembre 2019
Statut
Membre
Dernière intervention
14 juillet 2022
- Modifié le 10 mars 2021 à 10:30
barnabe0057
Messages postés
13994
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 août 2022
- 10 mars 2021 à 12:41
Bonjour,
suite a la dernier question poser, j'ai remarquer qu'elle n'était pas asser précise et que mon code ne facilité pas la résolution du problème.

Donc la situation c'est que j'ai fait un programme, il doit utiliser un fichier texte pour sauvegarder plusieurs variable pour ensuite les réutiliser lors la prochaine fois que je utiliser le programme. voici mon code
@echo off

:charger
for /f "tokens=1 delims=;" %%a in (a.txt) do set un=%%a
for /f "tokens=2 delims=;" %%a in (a.txt) do set deux=%%a
for /f "tokens=3 delims=;" %%a in (a.txt) do set trois=%%a

if not defined un goto :creer
if not defined deux goto :creer
if not defined trois goto :creer

goto :programe

:creer
set /p un=ma valeur 1
set /p deux=ma valeur 2
set /p trois=ma valeur 3

:programe
echo ma variable 1 %un%
echo ma variable 2 %deux%
echo ma variable 3 %trois%
pause>nul

:sauvegarder
echo %un% %deux% %trois% >>a.txt

exit


EDIT : Ajout du LANGAGE dans les balises de code pour avoir la coloration syntaxique, la numérotation des ligne et l'indentation

Quand j'utilise mon code sa me met toutes les valeur dans ma premier variable, or je veux que chaque valeur soit réattribué pour chaque variable.
Merci pour votre réponse.

2 réponses

barnabe0057
Messages postés
13994
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 août 2022
4 818
Modifié le 10 mars 2021 à 10:30
Bonjour,

Est-ce que c'est mieux comme ça :
@echo off

:charger
for /f "tokens=1 delims=;" %%a in (a.txt) do set un=%%a
for /f "tokens=2 delims=;" %%a in (a.txt) do set deux=%%a
for /f "tokens=3 delims=;" %%a in (a.txt) do set trois=%%a

if not defined un goto :creer
if not defined deux goto :creer
if not defined trois goto :creer

goto :programe

:creer
set /p un=ma valeur 1
set /p deux=ma valeur 2
set /p trois=ma valeur 3

:programe
echo ma variable 1 %un%
echo ma variable 2 %deux%
echo ma variable 3 %trois%
pause>nul

:sauvegarder
echo %un%;%deux%;%trois%; >a.txt

exit


EDIT : Ajout du LANGAGE dans les balises de code pour avoir la coloration syntaxique, la numérotation des ligne et l'indentation


“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
1
azerty_9138
Messages postés
53
Date d'inscription
dimanche 17 novembre 2019
Statut
Membre
Dernière intervention
14 juillet 2022
10
10 mars 2021 à 12:19
PARFAIT !!!
Merci sa marche, donc si j'ai comprit
delims
sert a séparer les différents
tokens
0
barnabe0057
Messages postés
13994
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 août 2022
4 818
10 mars 2021 à 12:41
Oui tu as tout compris.
0