Script de purge des fichiers de plus de 15 jours dans un dossier

Voici un petit script que j’exécute en tâche planifiée pour purger un dossier commun sur notre serveur de fichier.
Il supprime récursivement tous les fichiers de plus de 15 jours et ensuite surprime tous les dossiers vides.

Il y a également la création d’un petit fichier de logs de ce qui à été supprimé qui est conservé 30 jours.


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

pushd C:\scripts\Purge-commun\logs\

echo "Purge des fichiers de plus de 15 jours" > C:\scripts\Purge-commun\logs\log_purge_commun_%datedujour%.log

REM Modifification des attribus dans le dossier
attrib -s -h -r d:\commun\*.* /s /d

REM Purge des fichiers de plus de 15 jours
forfiles /P "D:\commun" /D -15 /S /C "cmd /C echo @path >> C:\scripts\Purge-commun\logs\log_purge_commun_%datedujour%.log"
forfiles /P "D:\commun" /D -15 /S /C "cmd /C del /F /Q @path >> C:\scripts\Purge-commun\logs\log_purge_commun_%datedujour%.log"

REM Suppression des fichiers Thumbs.db
del d:\commun\Thumbs.db /S >> C:\scripts\Purge-commun\logs\log_purge_commun_%datedujour%.log

REM Suppression des dossiers Vide
for /f "tokens=*" %%i in ('dir /s /b /ad D:\commun\* ^| sort /r') do rd "%%~i" >> C:\scripts\Purge-commun\logs\log_purge_commun_%datedujour%.log

REM Suppression des fichiers de logs qui ont plus de 30 jours
forfiles /P "C:\scripts\Purge-commun\logs\" /d -30 /C "cmd /c del @path" >> C:\scripts\Purge-commun\logs\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.

2 Comments

  1. Hello.
    Cette ligne ne fonctionne pas correctement, pas de sortie de la commande del :
    forfiles /P « D:\commun » /D -15 /S /C « cmd /C del /F /Q @path >> C:\scripts\Purge-commun\logs\log_purge_commun_%datedujour%.log »

    Afin d’avoir les logs, il faut écrire ceci :
    forfiles /P « D:\commun » /D -15 /S /C « cmd /C del /F /Q @path » >> C:\scripts\Purge-commun\logs\log_purge_commun_%datedujour%.log >> 2&1

    Cordialement,
    Helger

Poster un Commentaire