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:
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
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
Pouvez-vous m'aider à savoir comment rendre la variable %Z% globale ?
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
Merci!
Partager