DOS lire contenu d'un fichier...

Résolu/Fermé
friscalo Messages postés 7 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 24 février 2010 - 19 févr. 2010 à 19:54
friscalo Messages postés 7 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 24 février 2010 - 23 févr. 2010 à 16:52
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....
A voir également:

1 réponse

friscalo Messages postés 7 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 24 février 2010 1
23 févr. 2010 à 16:52
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