purge d'un répertoire sur critére de date - Shell/Batch - Programmation
Marsh Posté le 21-10-2004 à 15:53:29
voila une solution qui marche :
Code :
|
remplace juste la ligne qui contient ton N
et celle ou tu vas deleter le fichier (ici je fais juste un echo)
Marsh Posté le 21-10-2004 à 16:08:32
Je vais tâcher de comprendre comment ça marche...
Merci pour le coup de main.
Marsh Posté le 22-10-2004 à 09:23:29
Arrakeen a écrit : |
Salut Arrakeen, j'ai encore besoin de tes lumières...
j'ai compris le fonctionnement dans l'ensemble, mais je ne pige pas les lignes 12 et 13 :
for /R %CD% %%i in (*.*)
Comment définir le chemin de mon répertoire à traiter (c:\Echange)pour lancer le script depuis un autre endroit que le répertoire courant ?
C'est quoi %CD% ?
Merci
Marsh Posté le 22-10-2004 à 10:08:07
iop iop,
%CD% est une variable prédéfiie qui désigne le repertoire courant d'ou tu lances le .bat.
tu peux evidemment mettre le repertoire que tu veux :
Code :
|
ligne 13 sinon ? set file="%%i" ?
bah je recupere le nom du fichier que je met entre guillemets
pour que les noms de repertoire et/ou de fichiers contenant des espaces
ne soit pas un probleme...
++
Arrakeen
Marsh Posté le 22-10-2004 à 16:24:27
Merci pour tes précisions. J'ai eu grâce à toi une bonne base de travail.
J'ai du batailler un peu pour arriver à un résultat.
La ligne 25 ne voulait pas s'exécuter.
J'ai fini par trouver qu'il fallait mettre "%filedate2%" et "%datetodel%" entre guillemets.
Sinon, à l'occase je chercherai le moyen de s'affranchir du changement de mois.
En effet si je met N=7 et que j'exécute (par mégarde bien sûr) le script le 02 10 2004, j'obtiens datedel=20040995 au lieu de 20040925...
A une prochaine, merci encore.
Marsh Posté le 21-10-2004 à 14:53:41
Bonjour à tous,
J'ai un répertoire nommé Echange (partagé sous win 2000 en réseau) qui sert pour le stockage temporaire de fichiers (ou de répertoires)
Je souhaite supprimer automatiquement les fichiers vieux de plus de N jours, y compris dans les sous-répertoires.
- J'ai essayé l'utilitaire deldate mais celui ne semble pas récursif et n'accepte en tout cas pas les espaces.
- J'ai tenté un mix de deldate avec des commandes batch mais je bloque encore sur les noms de répertoires avec espace.
Connaissez vous un moyen (sans achat de soft type delenda) pour réaliser cette opération ?
Sinon, comment supprimer les espaces dans les noms de répertoires créés par les utilisateurs ?
Merci d'avance