[R] Effacer des fichiers qui ont plus de 30 jours??

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Kurser
Niveau 1
Niveau 1
Messages : 11
Enregistré le : ven. 26 oct. 2007 14:29
Status : Hors ligne

[R] Effacer des fichiers qui ont plus de 30 jours??

#1

Message 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.... :roll:
Modifié en dernier par Kurser le jeu. 15 nov. 2007 22:30, modifié 2 fois.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#2

Message par ani »

salut

la question fut déjà posé, t'a bien cherché :D
regarde sur ce post

si ça ne va pas hésite pas :)
Kurser
Niveau 1
Niveau 1
Messages : 11
Enregistré le : ven. 26 oct. 2007 14:29
Status : Hors ligne

#3

Message 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")
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#4

Message 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" )
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é".
Kurser
Niveau 1
Niveau 1
Messages : 11
Enregistré le : ven. 26 oct. 2007 14:29
Status : Hors ligne

#5

Message par Kurser »

Merci Bcq Tlem....

Désolé pour ces erreurs.... :shock: 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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#6

Message par Tlem »

Kurser a écrit :Désolé pour ces erreurs.... :shock: 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.
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é".
Kurser
Niveau 1
Niveau 1
Messages : 11
Enregistré le : ven. 26 oct. 2007 14:29
Status : Hors ligne

#7

Message par Kurser »

:D :D :D Merci bcq le script est au point maintenant!!!!!!

c'est super :idea:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#8

Message par Tlem »

Image Image
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é".
Atoxis
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 29 août 2012 14:15
Status : Hors ligne

Re: [R] Effacer des fichiers qui ont plus de 30 jours??

#9

Message par Atoxis »

Bonjour,

j'ai le message d'erreur suivant en mettant exactement le même code :

Image

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.
Atoxis
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 29 août 2012 14:15
Status : Hors ligne

Re: [R] Effacer des fichiers qui ont plus de 30 jours??

#10

Message 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
Répondre