[Batch] Problème lecture de fichier .txt

Résolu/Fermé
Topaze01 - 10 juil. 2017 à 13:10
 Topaze01 - 10 juil. 2017 à 14:07
Bonjour,
je suis débutant en batch et j'ais fait un petit programme permettant de lire un fichier .txt et d'associer une ligne à une variable ( la ligne 1 dans var1, la ligne 2 dans var2, etc ). Le voici :

@echo off
set ligne=1
for /f %%X in (test.txt) do (
set var%ligne%=%%X
set /a ligne= %ligne%+1
)
echo %var1%
echo %var2%
echo %ligne%
pause

Mais le problème est que la 5ème et dernière ligne rentre dans var1 et les autres variable sont vide alors que ligne vaut 6 ( ce qui est par contre normal ). Est-ce que quelqu'un pourrait m'expliquer pourquoi ?
Merci d'avance.

A voir également:

2 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
10 juil. 2017 à 13:19
Bonjour,

Tu es dans un cas de figure où il faut utiliser l'expansion retardée des variables, voilà comment faire :

@echo off
setlocal enableDelayedExpansion

set /a ligne=1
for /f %%X in (test.txt) do (
set var!ligne!=%%X
set /a ligne=!ligne!+1
)
echo %var1%
echo %var2%
echo !ligne!
pause

0
Merci beaucoup de ton aide ça fonctionne parfaitement
0