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
|
:: Scrip qui zippe les fichiers de logs de plus de 10 jours et supprime les zip de plus de 30 jous
echo off
set day_today=%Date:~0,2%
set mth_today=%Date:~4,2%
set year_today=%Date:~7,4%
call :DateToDays %year_today% %mth_today% %day_today% days
REM je fais ici un FOR pour boucler récupérer un à un les noms des fichiers du répertoire, je ne suis pas sûr de vraiment boucler sur les noms de fichiers
FOR /R %%i IN ('dir /B "%rep_log%"' ) do (
set nomfichier = %%i
::Traitement des fichiers log
set datemodif=date de dernière modif de %nomfichier% REM ici je ne sais pas comment récupérer la date de dernière modif du fichier de log à partir de son nom
set day_modif=%datemodif:~0,2%
set mth_modif=%datemodif:~4,2%
set year_modif=%datemodif:~7,4%
call :DateToDays %year_today% %mth_today% %day_today% days_modif REM je fais appel à la fonction Datetodays dont le lien était dispo dans un des posts.
set /A anciennete = days-days_modif
if anciennete GTR 10 (
MOVE C:\logs\%nomfichier% E:\archives
pkzip E:\archives\%nomfichier%)
)
::Traitement des fichiers zippé
FOR /R %%i IN ('dir /B "%rep_archive%"' ) do (
set nomfichier = %%i
set datemodif=date de dernière modif de %nomfichier% REM ici je ne sais pas comment récupérer la date de dernière modif du fichier zip
::Traitement_zip
set day_modif=%datemodif:~0,2%
set mth_modif=%datemodif:~4,2%
set year_modif=%datemodif:~7,4%
call :DateToDays %year_today% %mth_today% %day_today% days_modif
set /A anciennete = days-days_modif
if anciennete GTR 30 (
DEL E:\archives\%nomfichier%
) |