Bonjour,

J'ai plusieurs fichiers csv et je cherche à remplacer dans tous ces fichiers, une chaine de caractère par une autre. Je précise avec les virgules pour éviter de prendre la chaine qui serait dans une autre phrase.
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
21
22
23
24
25

@echo on
setlocal enableDelayedExpansion
for /F "usebackq" %%i in (`dir /b bat*.csv`) do (
set Fichier=%%~nxi
echo !Fichier!
pause
Set outputFile=bis_!Fichier!
REM Set chaine1=,Stanley,
REM Set remplace1=,stan,
 if exist "%outputFile%" del "%outputFile%"
Pause
echo "deux"
for /f "usebackq delims=*" %%T in ("%Fichier%") do (
   echo %%T
   Set TempVar=%%T
   set TempVar=!TempVar:,Stanley,=,stan,!
   echo !TempVar!>>"%outputFile%"
   REM del %Fichier%
   REM ren "%OutputFile%" "%Fichier%"
	)
)
endlocal
pause
Les pauses, c'est pour voir comment se déroule mon code. Si je l'exécute sur un seul fichier en précisant le nom du fichier d'entrée et le nom du fichier de sorti, tout va bien.
Mais avec la version avec ma boucle pour parcourir tous les fichiers, ça ne fonctionne pas.
Une idée de ce qui n'irait pas ?

Par avance merci.