Page 1 sur 1

[R] Nombre de version de fichiers

Posté : ven. 27 févr. 2009 00:36
par Davyly
Bonsoir,
Je cherche à réaliser un système de gestion, de nombre de versions de fichiers. Je m'explique, je zip un dossier dont le format de sortie est "Backup_20090226.zip". Le souci c'est que maintenant je me retrouve avec 26Go et plus d'une centaine de fichiers zip. Comment garder les x derniers fichiers de backup ? Un backup n'est pas réalisé tous les jours. J'ai cherché sur le forum mais j'ai pas trouvé, peut-être mal cherché. Avez-vous une idée ? moi pas du tout. Merci d'avance.

Re: [..] Nombre de version de fichiers

Posté : ven. 27 févr. 2009 00:47
par Tlem
Peut être une piste par ici.

Re: [..] Nombre de version de fichiers

Posté : ven. 27 févr. 2009 22:52
par FernandG
Bonsoir,

En supposant que tes fichiers "Backup" sont stockés dans un dossier dédié, ce code devrait correspondre à ta demande :

Code : Tout sélectionner

#Include <File.au3>
#Include <Array.au3>
;-------------
$backup_path = @DesktopDir & "\Backup"
$nb_version = 7
;-----------------------
$FileList=_FileListToArray($backup_path, "*.zip", 1)
If @Error = 1 Then
    MsgBox(16, "Erreur", "Aucun fichier correspondant à la structure de la recherche.")
    Exit
EndIf
If $FileList[0] > $nb_version Then
    For $i = $FileList[0] - $nb_version To 1 Step -1
        ;MsgBox(64, "Info", $backup_path & "\" & $FileList[$i])
        FileDelete($backup_path & "\" & $FileList[$i])
    Next
EndIf
Exit
Voilà.
Tiens nous au courant.

Bonne soirée, nuit.
AutoITement.

Re: [..] Nombre de version de fichiers

Posté : lun. 02 mars 2009 21:18
par Davyly
bonsoir, aujourd'hui j'ai testé le code de FernandG en l'adaptant un peu à mes besoins et c'est parfait. Cela fonctionne à merveille, rien à dire ou plutôt merci beaucoup pour votre aide. A bientôt.

Re: [R] Nombre de version de fichiers

Posté : lun. 02 mars 2009 23:41
par FernandG
Bonsoir,

Dans un autre registre et beaucoup plus complet, tu trouveras ci dessous un autre type de code écrit fin de semaine dernière. A la différence de celui donné plus haut, celui là est beaucoup plus complet et ne s'appuie pas que sur le nom du fichier mais surtout sur la date de création de ce dernier, de ton "backup". A toi maintenant de changer la variable du nombre de fichier et si besoin de la structure de recherche de tes fichiers "backup".
► Afficher le texte
Je tiens à remercier tout particulièrement Strofe pour l'écriture du noyau de ce code, l'algorithme de type "Tri bulle".

Un code qui peux servir à nombreux d'entre nous, à vous de me le dire.

Bonne soirée, bonne nuit.
AutoItement.

Re: [R] Nombre de version de fichiers

Posté : mar. 03 mars 2009 07:38
par Tlem
L'approche est intéressante. ;)

Voici une alternative qui me parait plus simple bien que le code soit approximativement de la même longueur.
Cette solution ce verra plus rapide sur un nombre plus ou moins important de révision de fichier, car la commande Redim à la fâcheuse tendance à ralentir un code.
► Afficher le texteCode

Re: [R] Nombre de version de fichiers

Posté : mar. 03 mars 2009 22:23
par FernandG
Idem, ton approche est aussi intéressante. ;-) Tout regrouper dans une "colonne" unique, fallait y penser. Le FileGetTime permettant le sort et à coup de StringSplit, j'aime bien. :o

Aller, histoire de trouver quelque chose à dire, je remplacerais la ligne :

Code : Tout sélectionner

$Filelst = $Filelst & $Date & "#" & $path_backup & $File & @CR
Par

Code : Tout sélectionner

$Filelst &= $Date & "#" & $path_backup & $File & @CR
:P Comment ça j'abuse ... ?!?! Bon ok je retourne à un autre "post" ;-)

Bonne soirée, bonne nuit.
AutoITement.