Ce matin je suis tombé sur un script batch donnant des commandes afin de supprimer des fichiers plus vieux de n jours. Afin de le faire fonctionner il faut également télécharger l'exécutable forfiles et l'intégrer dans le dossier contenant les fichiers devant être traités.
J'ai donc créer %systemdrive%\temp\test
Dans test j'ai mis diverses copies de fichier.txt trainant sur mon PC.
J'ai renommé ces fichiers en leur attribuant une date "jjmmaaaa.txt"
J'ai ensuite placé ce batch dans test:
Code : Tout sélectionner
@echo off
set path_a_nettoyer=c:\temp\test
set nb_jours=3
for /f "delims=" %%a in ('dir %path_a_nettoyer%\ /b /ad /s ^| findstr /i \%1') do (
forfiles /p %%a /s /m *.* /d -%nb_jours% /c "cmd /c del @file : date >= %nb_jours% days > NUL"
)
pause
Le but => supprimer les fichiers dont la date est celle du jour -3 jours.
Le batch se lance correctement mais ne fait aucune suppression - je suis depuis ce matin sur ce cas et bien que l'ayant "secoué" dans tous les sens je ne vois pas ce qui s'évertue à ne pas vouloir fonctionner.
Est-ce dû à mes copies renommées ... ayant comme date de création celle d'aujourd'hui ... je ne sais plus!
Voici les sources:
batch > http://dev.powah.net/purge.bat.txt
lien pour récupérer forfiles > ftp://ftp.microsoft.com/ResKit/y2kfix/x86/forfiles.exe
explication de la commande > http://membres.lycos.fr/fgilain/nt4RkTo ... files.html