Salut,

je cherche à utiliser cette possibilité de la commande SET : (rechercher une chaine dans une variable et la remplacer par une autre chaine)

SET chaine_resultante=%chaine_a_traiter:chaine_recherché=[chaine_de_remplacement]% .

Elle ne passe pas dans mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
setlocal ENABLEDELAYEDEXPANSION

FOR /F %%a IN (tmp.txt) DO (

	echo a: %%a
	set rech=%%a
	set rech=%rech:MAG=%

	echo rech : !rech!
)
Explication:
setlocal ENABLEDELAYEDEXPANSION et !var! : me permet de voir la valeur de la variable var à chaque itération ( c juste pour tester )

Logiquement ici, set rech=%rech:MAG=% devrait effacer dans la variable rech la chaine MAG seulement si la chaine MAG est présente dans %%a. Or, quelque j'obtiens la chaine suivante dans rech : MAG= quelle que soit la valeur de %%a.

Ai-je bien expliqué mon problème ?
Merci d'avance pour vos réponses