[Batch] Problème lecture de fichier .txt

Résolu
Topaze01 -  
 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.

2 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
  2. Topaze01
     
    Merci beaucoup de ton aide ça fonctionne parfaitement
    0