Récupérer la valeur de plusieurs variables

Résolu/Fermé
Utilisateur anonyme - Modifié le 10 mars 2021 à 10:30
barnabe0057 Messages postés 14453 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 24 novembre 2024 - 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 14453 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 24 novembre 2024 4 917
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

1
Utilisateur anonyme
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 14453 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 24 novembre 2024 4 917
10 mars 2021 à 12:41
Oui tu as tout compris.
0