vendredi 27 novembre 2015

Supprimer automatiquement des fichiers anciens sous Windows ou moyen d'un script DOS


Si vous utilisez une machine ou un disque mappé en ligne, afin de stocker des backups, vous avez sans doute besoin de nettoyer cet espace de stockage en supprimant les fichiers trop anciens.

N'ayant pas trouvé de solution pratique sous forme d'un logiciel, j'ai écrit un fichier BAT sous DOS, qui est activé une fois par semaine via le planificateur des tâches de Windows et qui fait le ménage.

Voici donc le script. Je mets en commentaire la possibilité de monter un disque mappé; toujours utile mais pas nécessaire si on désire nettoyer un disque local.


REM -------- DEBUT DE LA PARTIE POUR UN DISQUE MAPPE _________°°°°°°
REM si vous avez un disque mappé, qui se nomme par exemple Y:/ , voici le procédure de montage
REM on commence par le démonter... pour être certain qu'il soit bien monté ;-) 
REM net use Y: /delete /yes
REM j'utilise PING pour ne pas devoir installer la commande WAIT en supplément
REM
ping google.com
REM on le monte proprement
REM net use Y: \\LE_CHEMIN /PERSISTENT:NO LE_PASSWORD /USER:LE_NOM_DU_USER
REM ping google.com
REM Y:
REM ping google.com
REM -------- FIN DE LA PARTIE POUR UN DISQUE MAPPE _________°°°°°°

setlocal
SET SOURCE=setlocal
REM on définit le fichier à nettoyer
SET SOURCE=Y:\le_CHEMIN_du_DOSSIER_a_NETTOYER
SET CIBLE=C:\TEMP
REM on définit l'âge maximum autorisé. Dans ce cas c'est 20 jours. Donc les fichiers plus vieux de 20 jours seront effacés
SET AGE=20
For /F %%d in ('robocopy %SOURCE% %CIBLE% /minage:%AGE% /L /XX /NC /NS /NDL /NJH /NJS /NP') do del %%d
ping google.com
setlocal
REM si disque mappé : net use Y: /delete /yes
ping google.com
exit

Aucun commentaire:

Publier un commentaire