[R] Script pour supprimer des dossiers de plus de x jours
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Script pour supprimer des dossiers de plus de x jours
salut , j'ai une petite question.
sur un serveur win2003 , j'ai un repertoire contenants des dossiers de sauvegardes.
le hic est que cela prend beaucoup de place avec le temps .
je cherche un moyen de faire un roulement avec un script en taches planifiers, qui supprime automatiquement les fichiers ayant par exemple plus de 15jours ....
quelqu'un a une idée , pour la mise en oeuvre ???
merci d'avance
cordialement
sur un serveur win2003 , j'ai un repertoire contenants des dossiers de sauvegardes.
le hic est que cela prend beaucoup de place avec le temps .
je cherche un moyen de faire un roulement avec un script en taches planifiers, qui supprime automatiquement les fichiers ayant par exemple plus de 15jours ....
quelqu'un a une idée , pour la mise en oeuvre ???
merci d'avance
cordialement
Modifié en dernier par Tlem le ven. 05 sept. 2008 23:38, modifié 3 fois.
Raison : Ajout de la balise [..] dans le titre.
Raison : Ajout de la balise [..] dans le titre.
- jbnh
- Niveau 11
- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] script supprimer des dossiers ayant plus de x jours
Salut, avec ms dos on peut tout faire.
Par exemple : pour lister tous les dossiers d'un endroit (disons C:\), faire: cd c:\ puis dir /ad et ensuite : dir > myfile.txt pour avoir toutes les infos dans un txt. Il suffira alors de faire un petit tri pour récupérer les dates de créations.
Ca t'intéresse?
Par exemple : pour lister tous les dossiers d'un endroit (disons C:\), faire: cd c:\ puis dir /ad et ensuite : dir > myfile.txt pour avoir toutes les infos dans un txt. Il suffira alors de faire un petit tri pour récupérer les dates de créations.
Ca t'intéresse?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
-
- Niveau 7
- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [..] script supprimer des dossiers ayant plus de x jours
_FileListToArray pour lister tous les fichiers d'un dossier (après pour explorer les sous-dossiers utilise les résultats (fichiers et dossiers) de cette fonction).
- jbnh
- Niveau 11
- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] script supprimer des dossiers ayant plus de x jours
@tolf, ca servirai à quoi d'avoir sous forme d'array la liste des dossiers?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
- sylvanie
- Niveau 11
- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] script supprimer des dossiers ayant plus de x jours
Le tableau, c'est un peu lourd en effet...
pour sélectionner les dossier à supprimer soit on parse le fichier sortie avac des stringsplits.
Ou bien, on a joute /B (affichage des nom de rep tout court) et on utilise FileGetTime sur chaque rep
pour sélectionner les dossier à supprimer soit on parse le fichier sortie avac des stringsplits.
Ou bien, on a joute /B (affichage des nom de rep tout court) et on utilise FileGetTime sur chaque rep
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] script supprimer des dossiers ayant plus de x jours
C'est peut être lourd, mais c'est déjà tout fait.sylvanie a écrit :Le tableau, c'est un peu lourd en effet...

http://www.autoitscript.fr/forum/viewto ... f=21&t=479
Rapide et tellement simple à l'utilisation ...
@jbnh : Batch c'est effectivement bien, mais avec des noms avec accent et autre, ça ne fonctionne pas bien du tout.

Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- jbnh
- Niveau 11
- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] script supprimer des dossiers ayant plus de x jours
OK je suis bien d'accord, mais le but n'est-t-il pas de checker la date de tous les fichiers? Comment vous vous y prenez par la suite?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] script supprimer des dossiers ayant plus de x jours
Comme ceci :
Attention ce script supprime des fichiers, à essayer avec une grande prudence.
Code : Tout sélectionner
#include<_FileListToArrayNew2h.au3>
#include <Date.au3>
Dim $ListFile = _FileListToArray3 ("c:\RepX", "*.txt", 1, 1, 1,"Temp|TMP")
For $i = 1 to $ListFile[0]
$T = FileGetTime($ListFile[$i], 1) ; On récupère la date de création.
$FTime = $t[0] & "/" & $t[1] & "/" & $t[2] & " " & $t[3] & ":" & $t[4] & ":" & $t[5] ; On convertit la date pour le _DateDiff.
IF _DateDiff('D', $FTime, _NowCalc()) > 15 Then FileDelete($ListFile[$i]) ; Contrôle de la différence de jours et suppression.
Next
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- sylvanie
- Niveau 11
- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Script pour supprimer des dossiers de plus de x jours
un consolewrite à la place du FileDelete serait en effet pas mal dans un premier temps pour tester ^^
par contre à vu d'oeuil ça ne gère pas le récursif, ou je me trompe ?
ceci dit selon le contexte, on n'en a peut être pas besoins.
par contre à vu d'oeuil ça ne gère pas le récursif, ou je me trompe ?
ceci dit selon le contexte, on n'en a peut être pas besoins.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
- Tlem
- Site Admin
- Messages : 11784
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Script pour supprimer des dossiers de plus de x jours
La fonction _FileListToArray3() gére parfaitement le récursif.

Code : Tout sélectionner
_FileListToArray3($sPath, $sFilter = "*", $iFlag = 0, $iRecurse = 0, $iBaseDir = 1, $sExclude = "")
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- sylvanie
- Niveau 11
- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Script pour supprimer des dossiers de plus de x jours
Autant pour moi,je n'avais pas fait attention au "3" de _FileListToArray3 ... qui est effectivement plus riche
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.