Signaler

[Batch] Problème lecture de fichier .txt [Résolu]

Posez votre question Topaze01 - Dernière réponse le 10 juil. 2017 à 14:07 par Topaze01
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.

Utile
+0
plus moins
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

Donnez votre avis
Utile
+0
plus moins
Merci beaucoup de ton aide ça fonctionne parfaitement
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !