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
|
@echo off& setlocal enabledelayedexpansion
[...]
:: déclaration des répertoires
set rep_entree=D:\test\ah
set rep_cible=D:\test\huhuhu
:: ==================== debut debloquage fichier bloque dans in ===============================
:: Cette boucle permet de déplacer un fichier qui est resté bloqué dans le répertoire in depuis 5 minutes
:: ======================================================================================
:: récupération de l'heure actuelle
set min_act_tmp=%time:~3,2%
if %min_act_tmp% LSS 10 ( set /a min_act = %min_act_tmp:~1,2% - 5)
if %min_act_tmp% GEQ 10 ( set /a min_act = %min_act_tmp% - 5)
if %min_act% == 0 set min_act=60
if %min_act% == -1 set min_act=59
if %min_act% == -2 set min_act=58
if %min_act% == -3 set min_act=57
if %min_act% == -4 set min_act=56
if %min_act% == -5 set min_act=55
:: récupération de la date et de l'heure du fichier
For %%a In ("%rep_entree%\*.*") Do (
set fic_bloque=%%a
set fic_bloque=!fic_bloque:é=‚!
set fic_bloque=!fic_bloque:è=Š!
set fic_bloque=!fic_bloque:à=…!
set fic_bloque=!fic_bloque:â=ƒ!
set datefic=%%~ta
goto traitementFicIn
)
:traitementFicIn
for /f "tokens=1,2 delims= " %%a in ('echo %datefic%') do ( set heurefic=%%b)
for /f "tokens=1,2 delims=:" %%a in ('echo %heurefic%') do ( set min_fic_tmp=%%b)
if %min_fic_tmp% LSS 10 ( set /a min_fic = %min_fic_tmp:~1,2%)
if %min_fic_tmp% GEQ 10 ( set /a min_fic = %min_fic_tmp%)
echo min fic : %min_fic%
echo min act : %min_act%
::Comparaison entre l'heure du fichier et l'heure actuelle
:: Si l'heure du fichier est plus ancienne que l'heure actuelle, on déplace le fic dans le rep_cible
if %min_fic% LEQ %min_act% move %fic_bloque% %rep_cible%
if %min_fic% GTR %min_act% goto end
:: ==================== FIN debloquage fichier bloque dans in ===============================
echo hop on a fini le traitement
:end
[...] |