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.
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.
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
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.
Partager