DOS lire contenu d'un fichier... [Résolu/Fermé]

Signaler
Messages postés
7
Date d'inscription
vendredi 19 février 2010
Statut
Membre
Dernière intervention
24 février 2010
-
Messages postés
7
Date d'inscription
vendredi 19 février 2010
Statut
Membre
Dernière intervention
24 février 2010
-
Bonjour,

j'ai un fichier contenant uniquement 2 sortes d'information :

A
A
B
B
A

et je souhaite lire ce fichier et en sortir 2 variables qui contiendraient V1=A et V2=B par exemple.

j'utilise la boucle :

FOR /F %%i IN (fichier.txt) DO (
if NOT %%V1==%%i (set V2=%V1%) else (set V2=%%i)
SET V1=%%i)

echo %V1%
echo %V2%

mais j'ai un problème dans la boucle FOR pour faire les tests sur les variables V1 ou V2 que j'incrémente.

Merci pour votre aide....

1 réponse

Messages postés
7
Date d'inscription
vendredi 19 février 2010
Statut
Membre
Dernière intervention
24 février 2010
1
Bonjour,

la persévérance paye toujours....

il y avait 2 points importants avant de coder...

le caractère % doit être remplacé par ! dans une boucle FOR en codant avant la boucle :
setlocal enableDelayedExpansion

et ensuite, les IF imbriqués n'ont pas l'air de bien fonctionner...

donc la codage donne ceci :

rem init des 2 variables V1 et V2
set V1=OPC
set V2=OPC

setlocal enableDelayedExpansion

FOR /F %%i IN (fichier.txt) DO (

set V1=%%i

if not !V1!==!V2! (
if not !V2!==OPC (goto SUITE)
set V2=!V1!
)
)

:SUITE
echo V1=!V1!
echo V2=!V2!


et voila en fonction de l'égalité entre V1 et V2 et surtout en vérifiant que V2 soit différent de l'init de départ (OPC), le programme sort de la boucle de lecture dès que les 2 variables V1 et V2 sont incrémentées et surtout qu'elles sont différentes l'une de l'autre.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61052 internautes nous ont dit merci ce mois-ci