Script de purge des fichiers de plus de X jours

J’ai mis en place un script de purge qui efface les fichiers de plus de X jours sur un dossier commun.
Ce script créé également un fichier de logs pour suivre ce qui a été supprimé et purge ces fichiers fichiers de logs.


@echo on

REM Variables à modifier

set %dossierdelogs%=C:\scripts\Purge-commun\logs
set %dossieranettoyer%=D:\commun
set %nbjours%=15
set %nbjoursLogs%=30

set "tiret=-"
set datedujour=%date:~10,4%%tiret%%date:~4,2%%tiret%%date:~7,2%

pushd %dossierdelogs%\

echo "Purge des fichiers de plus de 15 jours" > %dossierdelogs%\log_purge_commun_%datedujour%.log

REM Modification des attributs dans le dossier
attrib -s -h -r %dossieranettoyer%\*.* /s /d

REM Purge des fichiers de plus de X jours (variable Nb jours)
forfiles /P %dossieranettoyer% /D - %nbjours% /S /C "cmd /C echo @path >> %dossierdelogs%\log_purge_commun_%datedujour%.log"
forfiles /P %dossieranettoyer% /D - %nbjours% /S /C "cmd /C del /F /Q @path >> %dossierdelogs%\log_purge_commun_%datedujour%.log"

REM Suppression des fichiers Thumbs.db
del %dossieranettoyer%\Thumbs.db /S >> %dossierdelogs%\log_purge_commun_%datedujour%.log

REM Suppression des dossiers Vide
for /f "tokens=*" %%i in ('dir /s /b /ad %dossieranettoyer%\* ^| sort /r') do rd "%%~i" >> %dossierdelogs%\log_purge_commun_%datedujour%.log

REM Suppression des fichiers de logs qui ont plus de 30 jours
forfiles /P %dossierdelogs% /d -%nbjoursLogs% /C "cmd /c del @path" >> %dossierdelogs%\log_purge_commun_%datedujour%.log

exit

A propos de Christophe 38 Articles
Passionné d'informatique et de nouvelles technologies depuis mon plus jeune âge je souhaite partager ici quelques recherches que j'ai effectués.

Soyez le premier à commenter

Poster un Commentaire