Bonjour,

Je vous explique mon problème :

J'ai un fichier a.txt contenant :
111
222
555


J'ai un fichier b.txt contenant :
1;TEST;;111;LA
2;TEST2;;112;LA
3;TEST3;;222;LA
4;TEST4;;333;LA
5;TEST5;;555;LA

J'aimerais que dans mon fichier b.txt, si les valeurs [111,222 et 555) sont présentes les mettre dans la zone précédente :
1;TEST;111;;LA
2;TEST2;;112;LA
3;TEST3;222;;LA
4;TEST4;;333;LA
5;TEST5;555;;LA

J'ai fait ce bout de code qui parcours bien les fichiers mais ça ne fonctionne pas à cause des ";;", mon tokens ne les prends pas en compte et donc ça me fausse tout.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
set strRepFicTranscoSource=\\cheminA
set strRepFicTranscoCible=\\cheminB
set strNomFicSource=a.txt
set strNomFicCible=b.txt

REM On parcours les lignes du fichier 'a.txt'
REM -------------------------------------------
for /f "delims=" %%a in ('type %strRepFicTranscoSource%\%strNomFicSource%') do (
	REM On parcours les lignes du fichier 'b.txt'
	REM -------------------------------------------
	for /f "tokens=1-5 delims=;" %%b in ('type %strRepFicTranscoCible%\%strNomFicCible%') do (
		REM Pour la ligne sélectionnée, on parcours chaque valeur
		REM -------------------------------------------
		echo %%d - %%e
		
	)
)

pause
Avec mon code, le echo qui apparait met :
111 - LA
112 - LA
222 - LA
...
Au lieu de :
- 111 (le premier champ est vide)
- 112
...

Pouvez-vous m'aider ?

Cordialement