Bonjour, alors je vous explique mon problème:
j'ai un fichier a.txtje veux lire chaque ligne, trouver la ligne qui contient un " e " et modifier la ligne suivante pour écrire "test".a=
b=
c=
d=
e=
f=
g=
Pour cela j'utilise ce code:jusque là tout fonctionne, je me retrouve avec en sortie le fichier voulu: b.txtfor /f "tokens=1 delims=:" %%i in ('type a.txt ^|findstr /n /c:"e"') do set vrNumbLigneN=%%i& set /a vrNumbLigneN+=1
for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . a.txt') do set vrNumbLigne=%%i& set vrLign=%%j& call :trait
goto fin
:trait
if "%vrNumbLigne%"=="%vrNumbLigneN%" set vrLign=test
echo %vrLign%>> b.txt
goto :eof
:finmais je me suis rendu compte que si je mettai un caractère " | " (altgr+6) cela arrêtait la boucle à la ligne précedant le caractère, exemple:a=
b=
c=
d=
e=
test
g=
a.txt
je me retrouve avec b.txta=
b=
c=|
d=|
e=
f=
g=
alors j'aimerai savoir comment faire pour passer outre les | afin de continuer la boucle ou s'il y a une autre façon de modifier une ligne dans sa totalité.a=
b=
Si vous n'avez pas bien compris je peux répondre à vos questions.
Merci d'avance.
Partager