Page 1 sur 1
[R] Effacer des fichiers qui ont plus de 30 jours??
Posté : mar. 13 nov. 2007 21:54
par Kurser
Bonjour.
Voici ce que je veut faire
Je veux supprimer des fichiers qui date de plus de 30 jours..
Voici mon script mais il me supprime les plus recents
Code : Tout sélectionner
#include <date.au3>
$t=FileGetTime("C:\test2\*.txt",0)
$datefichier =_DateToDayValue ($t[0] , $t[1] , $t[2])
$datejour = _DateToDayValue (@YEAR, @MON, @MDAY)
if $datefichier > $datejour-30 then FileDelete("C:\test2\*.txt")
Merci , si quelqu'un pouvez m'apporter son aide....

Posté : mar. 13 nov. 2007 23:27
par ani
salut
la question fut déjà posé, t'a bien cherché

regarde sur
ce post
si ça ne va pas hésite pas

Posté : mer. 14 nov. 2007 17:32
par Kurser
Salut
ani!!!!
J'ai essayé ce code mais il me dit que la date de mon fichier n'est pas supérieur a 8 jours
Qu'est que t'en pense???
Code : Tout sélectionner
#Include <Date.au3>
$DateFic = FileGetTime("C:\test.txt", 1) ; sachant que le fichier a plus de 8 jours
$DateCalc = _DateDiff ( 'D' ,$DateFic , _NowCalc ( ) )
MsgBox ( 4096 , "" , "nombre de jour si sup à 8 ok :" & $DateCalc )
If $DateCalc > 8 then FileDelete ( "C:\test.txt")
Posté : mer. 14 nov. 2007 21:03
par Tlem
Vous faites deux erreurs dans votre script :
1 : Dans la commande
$DateFic= FileGetTime ( "C:\test.txt"
, 1 )
Vous demandez à autoIt de vous retourner la date de création du fichier au format tableau.
D'après votre deuxième ligne de code vous cherchiez à avoir : YYYYMMDDHHMMSS. il Vous faut donc mettre les bon paramètres pour que cela fonctionne.
2 : Dans la ligne
$DateCalc = _DateDiff ( 'D'
, $DateFic , _NowCalc ( ) ) vous voulez calculer un écart de date, en utilisant une mauvaise valeur !!
En l'occurrence, vous utilisez un élément vide (
$DateFic) puisque c'est un tableau (
$DateFic[x])
Si je me réfère à votre code vous vouliez utiliser la différence sur une valeur de retour pour
$DateFic de ce type : YYYYMMDDHHMMSS or la commande
_DateDiff ne prend en compte qu'une valeur dans ce format : "YYYY/MM/DD[ HH:MM:SS]", donc cela ne pourra pas fonctionner non plus.
Je vous conseil donc
Code : Tout sélectionner
#Include <Date.au3>
$DF = FileGetTime ( "C:\test.txt" , 0 ) ; Le 0 est pour connaitre la date du dernier accés.
$DateCalc = $DF[0] & "/" & $DF[1] & "/" & $DF[2] ; On récupère la date du dernier accés au format yyyy/mm/jj
$DateCalc = _DateDiff ( 'D' , $DateCalc , _NowCalc ( ) ) ; Calcul de la différence de date.
MsgBox ( 4096 , "" , "Age du fichier : " & $DateCalc & " Jour ( s ) " )
If $DateCalc > 8 then FileDelete ( "C:\test.txt" )
Posté : mer. 14 nov. 2007 21:36
par Kurser
Merci Bcq Tlem....
Désolé pour ces erreurs....

je ne suis pas encore assez bon....
En tout cas je te remercie, je vais essayé le code et je te dit koi...
A bientôt
Posté : mer. 14 nov. 2007 22:04
par Tlem
Kurser a écrit :Désolé pour ces erreurs....

je ne suis pas encore assez bon....
Ce n'est pas une question d'être bon (Je suis moi même incapable de sortir les fonctions de tête), mais il faut souvent lire l'aide (F1) et regarder les exemples.
Posté : jeu. 15 nov. 2007 21:53
par Kurser
Posté : jeu. 15 nov. 2007 21:57
par Tlem
Re: [R] Effacer des fichiers qui ont plus de 30 jours??
Posté : jeu. 13 sept. 2012 11:53
par Atoxis
Bonjour,
j'ai le message d'erreur suivant en mettant exactement le même code :
Pouvez-vous m'aidez ?
Code : Tout sélectionner
#Include <Date.au3>
$1=IniRead("C:\Program Files\monappli\config.ini","DELFILES","JOURS","")
$2=IniRead("C:\Program Files\monappli\config.ini","MESPARAM","FILE1","")
$3=IniRead("C:\Program Files\monappli\config.ini","MESPARAM","FILE2","")
$DF = FileGetTime ( $2 , 0 )
$DateCalc = $DF[0] & "/" & $DF[1] & "/" & $DF[2]
$DateCalc = _DateDiff ( 'D' , $DateCalc , _NowCalc ( ) )
If $DateCalc > $1 then FileDelete ( $2 )
$DF2 = FileGetTime ( $3 , 0 )
$DateCalc2 = $DF2[0] & "/" & $DF2[1] & "/" & $DF2[2]
$DateCalc2 = _DateDiff ( 'D' , $DateCalc2 , _NowCalc ( ) )
If $DateCalc2 > $1 then FileDelete ( $3 )
Merci d'avance.
Re: [R] Effacer des fichiers qui ont plus de 30 jours??
Posté : jeu. 13 sept. 2012 14:29
par Atoxis
Je viens de comprendre,
Désolé du dérangement.
Pour ceux qui ce pose la question, mais je doute qu'il y en ai qui fasse cette erreur, s'il n'y a pas de fichiers de l’extension que l'on contrôle, il n'y a donc pas de date à comparé donc erreur de script.
cordialement