Menu

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

Topaze01 - 10 juil. 2017 à 13:10 - Dernière réponse :  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.

Afficher la suite 

2 réponses

Répondre au sujet
barnabe0057 11801 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 17 février 2018 Dernière intervention - 10 juil. 2017 à 13:19
0
Utile
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

Commenter la réponse de barnabe0057
0
Utile
Merci beaucoup de ton aide ça fonctionne parfaitement
Commenter la réponse de Topaze01