Suppression auto d'anciens fichiers

Développement, conception de sites web, PHP, (X)HTML, ASP, Ajax, CSS, Javascript, Flash, MySQL, et autres ont leurs entrées dans cette section. On peut aussi parler d'hébergement, de maintenance, de sécurité...

Modérateur: Modérateurs

Suppression auto d'anciens fichiers

Messagepar BigZ » 24 Jan 2008 08:19

Bonjour,

J'ai un programme qui me sauve un log tous les jours à minuit.

Je cherche à faire un batch qui m'efface ces logs qui datent de plus de x mois, ou alors qu'il ne me garde que les 100 derniers fichiers...

La commande DEL ne permet pas cela....snif.

Merci

BigZ
Avatar de l’utilisateur
BigZ
Maître Libellulien
Maître Libellulien
 
Messages: 552
Inscription: 24 Juin 2003 09:56
Localisation: Genève

Re: Suppression auto d'anciens fichiers

Messagepar jspa » 05 Fév 2008 18:14

Salut,

Je n'ai pas trés bien compris ta question. Tu veux faire un batch (.bat) qui te supprime tout les fichiers .log de ton dossier ?

Veux tu que le batch "s'auto" lance pour que ton log soit supprimé ?

Parce que si tu fais un cd qui t'amène au répertoire puis un del *.log ca peut aller.

Je vois ceci
Code: Tout sélectionner
cd C:\DOSSIER\SOUSDOSSIER
del /F *.log
echo logs supprimés
J'ai la grippe, je peux faire un hijackthis pour me débarrasser de cette saloperie ???
Avatar de l’utilisateur
jspa
Libellulien Junior
Libellulien Junior
 
Messages: 309
Inscription: 02 Mai 2007 15:02

Re: Suppression auto d'anciens fichiers

Messagepar Wago » 05 Fév 2008 22:10

hello,

sous quelle forme ce nomment tes fichiers logs ?
JJ_MM_AAAA.log
JJ_MM_AA.log
blablabla.log

en clair, est-il possible de ce baser sur le nom du fichier pour l'effacement automatique?

@++

edit: j'ai ce qu'il te faut au boulot, faut voir si on peut l'adapter en fonction du nommage de tes fichiers log.
Avatar de l’utilisateur
Wago
Maître Libellulien
Maître Libellulien
 
Messages: 745
Inscription: 29 Juin 2004 07:48
Localisation: Région neuch.

Re: Suppression auto d'anciens fichiers

Messagepar Regis59 » 05 Fév 2008 22:40

une solution pour ton probleme :

Télécharge l'outil ForFiles ici : ForFiles

Decompresse le fichier dans ton répertoire Windows (ex: c:\windows)

Ensuite, créé un fichier batch, exemple : supprime5jours.cmd

Edite le avec notepad ou l'editeur de ton choix et dedans tu enregistres ce texte :

forfiles /p "c:\monrepertoire" /m *.LOG /c "cmd /c if @isdir==FALSE del @file" /d -5


Sauvegarde le fichier et copie le dans un répertoire de ton choix.

Tu peux programmer le planificateur de taches pour executer ce fichier batch tous les jours.

Cela effacera tous les fichiers .LOG se trouvant dans "c:\monrepertoire" et qui sont plus vieux que 5 jours

A toi d'adapter le contenu du fichier CMD pour définir le répertoire où se trouvent les fichiers LOG

A++
Régis
Avatar de l’utilisateur
Regis59
Libellulien Junior
Libellulien Junior
 
Messages: 158
Inscription: 18 Déc 2007 11:53

Re: Suppression auto d'anciens fichiers

Messagepar Regis59 » 08 Fév 2008 18:23

Salut BigZ !

As tu eu le temps d'essayer la méthode avec ForFiles ??

A++
Régis
Avatar de l’utilisateur
Regis59
Libellulien Junior
Libellulien Junior
 
Messages: 158
Inscription: 18 Déc 2007 11:53

Re: Suppression auto d'anciens fichiers

Messagepar BigZ » 08 Fév 2008 18:57

Bonjour à tous, merci de vos réponses

jspa a écrit:Salut,

Je n'ai pas trés bien compris ta question. Tu veux faire un batch (.bat) qui te supprime tout les fichiers .log de ton dossier ?

Veux tu que le batch "s'auto" lance pour que ton log soit supprimé ?

Parce que si tu fais un cd qui t'amène au répertoire puis un del *.log ca peut aller.

Je vois ceci
Code: Tout sélectionner
cd C:\DOSSIER\SOUSDOSSIER
del /F *.log
echo logs supprimés


C'est presque ca que je veux faire, sauf que je ne veux pas vider mon folder, mais juste effacer mes fichier vieux de x mois.

@Wago
Effectivement la date est dans le nom du fichier (20080108 de tête)

@Regis59
Non je n'ai pas eu le temps de tester encore. Je pourrai pas faire ca avant lundi (hé oui c'est professionnel ;-))

@tous
Je vais tester le ForFiles de Régis, et je vous tient au jus.

Merci encore

BigZ
Avatar de l’utilisateur
BigZ
Maître Libellulien
Maître Libellulien
 
Messages: 552
Inscription: 24 Juin 2003 09:56
Localisation: Genève

Re: Suppression auto d'anciens fichiers

Messagepar minos321 » 22 Fév 2012 10:31

Regis59 a écrit:une solution pour ton probleme :

Télécharge l'outil ForFiles ici : ForFiles

Decompresse le fichier dans ton répertoire Windows (ex: c:\windows)

Ensuite, créé un fichier batch, exemple : supprime5jours.cmd

Edite le avec notepad ou l'editeur de ton choix et dedans tu enregistres ce texte :

forfiles /p "c:\monrepertoire" /m *.LOG /c "cmd /c if @isdir==FALSE del @file" /d -5


Sauvegarde le fichier et copie le dans un répertoire de ton choix.

Tu peux programmer le planificateur de taches pour executer ce fichier batch tous les jours.

Cela effacera tous les fichiers .LOG se trouvant dans "c:\monrepertoire" et qui sont plus vieux que 5 jours

A toi d'adapter le contenu du fichier CMD pour définir le répertoire où se trouvent les fichiers LOG

A++
Régis



Merci beaucoup Regis59, ça faisait un moment que je cherchais un script pour faire cette opération et ça fonctionne nikel, mis a part ton lien pour le telechargement de fortfile.exe qui ne fonctionne pas.

Merci encore
minos321
 
Messages: 1
Inscription: 22 Fév 2012 10:21

Re: Suppression auto d'anciens fichiers

Messagepar Falkra » 22 Fév 2012 10:33

Bonjour, c'est relativement logique, le dernier post était de Février 2008. ;)

Je ferme, mais je t'invite à ouvrir un autre sujet si tu en as besoin.
Avatar de l’utilisateur
Falkra
Admin libellules.ch
Admin libellules.ch
 
Messages: 25882
Inscription: 30 Jan 2005 13:44
Localisation: 127.0.0.1


Retourner vers Développement, conception de sites web

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités