Bonjour,

Je ne suis pas un grand programmeur DOS, et j'aurais besoin de conseils ou de pistes.

Voici un bout de code qui me permet de modifier un fichier TXT, pour rendre une valeur nulle :
Code bat : 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
26
27
28
29
30
31
32
33
34
35
@echo off
setlocal EnableDelayedExpansion
 
mkdir Sondage_OK 2> NUL
 
for %%F in (TicketsJ.*) do (
    set MonFichier=%%F
FOR /F "delims=" %%L in ('type *!MonFichier!') DO (
	set "line=%%L||||||||"
::	echo premier !line!
    set "line=#!line:|=|#!"
::	echo second !line!
    FOR /F "tokens=1,2,3,4,5,8,9,10 delims=|" %%a in ("!line!") DO (
        set "param1=%%a"
::		echo avant traitement : !param1!
        set "param2=%%b"
        set "param3=%%c"
        set "param4=%%d"
		set "param5=%%e"
		set "param8=%%f"
		set "param9=%%g"
		set "param10=%%h"
        set "param1=!param1:~1!"
        set "param2=!param2:~1!"
        set "param3=!param3:~1!"
        set "param4=!param4:~1!"
		set "param5=!param5:~1!"
		set "param8=!param8:~1!"
		set "param9=!param9:~1!"
		set "param10=!param10:~1!"
        echo !param1!^|!param2!^|!param3!^|!param4!^|!param5!^|^|^|!param8!^|!param9!^|!param10! >> Sondage_OK\!MonFichier!
    )
)
del !MonFichier!
)

Ce petit batch fait correctement son boulot.
En revanche, plus le nombre de fichiers traités est important, plus les traitement son long.
J'ai plusieurs milliers de fichiers à traiter et je me suis aperçu que si j’arrêtais et relançais le batch de temps en temps, le traitement des ces fichiers se faisait plus rapidement que si je le laissait traiter d'un coup les milliers de fichiers.

Est-ce que vous auriez des idées sur le pourquoi du phénomènes et la façon d'y remédier ?

Merci d'avance pour votre aide !!