Bonjour,

C'est un honneur de pouvoir participer à ce forum.

Voici le code de mon BATCH.

Tout d'abord, je transforme la date du jour avec ceci (le calcul se fait dans l'etape010:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
:ETAPE005
FOR /F "usebackq tokens=1,2,3 delims=- " %%F IN (`"DATE /T"`) DO (
  call :ETAPE010 %%H %%G %%F
)
set DateAujd=%Z%
goto ETAPE015
exit /b

:ETAPE010
set Day=%1
set Month=%2
set Year=%3
REM Delete Leading Zeros
set Char=%Day:~0,1%
if %Char%==0 set Day=%Day:~1,1%
set Char=%Month:~0,1%
if %Char%==0 set Month=%Month:~1,1%
if %Month% LEQ 2 (
   set /A Year-=1
   set /A Month+=12
)
set /A Month+=1
set /A A=%Year%/100
set /A B=2-%A%+%A%/4
set /A C=36525*%Year%/100
set /A D=306001*%Month%/10000
set /A E=%Day%+1720995+%B%

set /A Z=%C%+%D%+%E%

Rem la valeur z ne retourne pas depuis la fonction etape015

exit /b

:ETAPE015
FOR /F "USEBACKQ SKIP=7 TOKENS=1,4" %%I IN (`"DIR /A:D"`) DO (
  ECHO %%I %%J > AAA_SIMON_123.tmp
  FOR /F "USEBACKQ tokens=1,2,3 delims=- " %%K in (AAA_SIMON_123.tmp) DO ( 
  CALL :ETAPE010 %%M %%L %%K
  ECHO %Z% : NBJOUR DU DIR POUR DIFF
  set /A Diff=%DateAujd%-%Z%
  ECHO %Diff%
  IF /I %Diff% GEQ %nbJours% rd %%J /S /Q
   )
)
del /Q AAA_SIMON_123.tmp
goto FIN
exit /b

:FIN
J'ai aussi auparavant tenté le 2ème for de l'etape015 de la façon suivante, mais ca ne retourne pas %%K %%L et %%M.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
:ETAPE015
FOR /F "USEBACKQ SKIP=7 TOKENS=1,4" %%I IN (`"DIR /A:D"`) DO (
  FOR /F "USEBACKQ tokens=1,2,3 delims=- " %%K in ("%%I") DO ( 
    CALL :ETAPE010 %%M %%L %%K
    SET /A Diff=%DateAujd%-%Z%
    IF /I %Diff% GEQ %nbJours% rd %%J /S /Q
  )
)
goto FIN
exit /b
Pouvez-vous m'aider à savoir comment rendre la variable %Z% globale ?
Merci!