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 51 52 53 54 55 56 57 58 59 60
|
@echo off
title gestion des logs
set cheminLogs=c:\essai
set dateSys=%DATE%
cd %cheminLogs%
if EXIST lastTwoMonths goto move
mkdir lastTwoMonths
:move
for /f "tokens=3 delims=/ " %%b in ('date/t') do set mois=%%b
for /f "tokens=2 delims=/ " %%b in ('date/t') do set nbJour=%%b
for /f "tokens=4 delims=/ " %%b in ('date/t') do set annee=%%b
set /A annee=%annee%-1900
set /A mois=12*%annee%+%mois%
set /A nbjour=365*%annee%+30*%mois%+%nbjour%
for /r %%a in (*.xml) do (
set nom=%%a
call :traitement
)
:traitement
for /f "skip=4 tokens=1" %%a in ('dir "%nom%" /tw /-c /a:-d-s-h^|find /v "(s)"') do set dateModif=%%a
for /f "tokens=1 delims=/ " %%b in ('echo %dateModif%') do set jourModif=%%b
for /f "tokens=2 delims=/ " %%b in ('echo %dateModif%') do set moisModif=%%b
for /f "tokens=3 delims=/ " %%b in ('echo %dateModif%') do set anneeModif=%%b
set /A anneeModif = %anneeModif%-1900
set /A moisModif=12*%anneeModif%+%moisModif%
set /A jourModif=365*%anneeModif%+30*%moisModif%+%jourModif%
set /A diffMois=%mois%-%moisModif%
if %mois% equ %moisModif% goto garder
if %diffMois% lss 3 goto garder
del %nom%
goto fin
rem passage à la fin de la boucle et passage au fichier suivant
:garder
set /A difference=%nbJour%-%jourModif%
if %difference% lss 8 goto laisser
echo on déplace le log
move %nom% %cheminLogs%\lastTwoMonths
goto fin
:laisser
echo ce log n'est pas deplace
:fin |
Partager