Page 1 sur 1
[..] Récupérer une liste de fichiers classée par DATE
Posté : mer. 12 juin 2013 10:48
par Izarra4autoit
Bonjour,
j'ai un script 100% fonctionnel qui me renvoie la liste de fichiers dans un tableau
le problème est que cette liste est 'triée' par défaut sur le nom des fichiers
comment pourrais je simplement obtenir cette même liste triée par date de fichiers (croissant, décroissant)
y a t-il un paramétrage supplémentaire à appliquer ?
Merci d'avance !
Et Excellente journée !
► Afficher le texte
Func WimDetails()
global $FileList = _FileListToArray("c:\temp, "*.txt") ; list of TXT files
_ArrayDisplay($FileList,"liste TXT") ; verif
EndFunc
Re: [..] Récupérer une liste de fichiers classée par DATE
Posté : mer. 12 juin 2013 11:33
par PandiPanda
Bonjour, ceci peut etre ?
C'est pas du tres beau code(surtout la partie compareDate()), mais ca fonctionne ^^
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.8.1
Auteur: Pandi_Panda
Fonction du Script :
#ce ----------------------------------------------------------------------------
#include <Array.au3>
#include <File.au3>
WimDetails()
Func WimDetails()
Local $path = "C:\Users\mAsK\Desktop\mkisofs"
global $FileList = _FileListToArray( $path,"*") ; list of TXT files
_ArrayDisplay($FileList,"liste TXT") ; verif
$FileList = trieParDate($FileList,0)
_ArrayDisplay($FileList,"liste TXT") ; verif
EndFunc
#cs
si ordre = -1 trie du plus ancien au plus recent
si ordre = 1 trie du plus recent au plus ancien
si ordre = 0 groupe par fichier crée au meme moment
#ce
Func trieParDate($tabFile,$ordre)
Local $max
Local $tmp
For $i = 1 To $tabFile[0]
$max = FileGetTime($tabFile[$i],2,0)
For $j = 1 To $tabFile[0]
$tmp = FileGetTime($tabFile[$j],2,0)
If(compareDate($max,$tmp) = $ordre) Then
$max = $tmp
$t = $tabFile[$i]
$tabFile[$i] = $tabFile[$j]
$tabFile[$j] = $t
EndIf
Next
Next
Return $tabFile
EndFunc
Func compareDate($d1,$d2)
If $d1[0] < $d2[0] Then
Return -1
ElseIf $d1[0] = $d2[0] Then
If $d1[1] < $d2[1] Then
Return -1
ElseIf $d1[1] = $d2[1] Then
If $d1[2] < $d2[2] Then
Return -1
ElseIf $d1[2] = $d2[2] Then
If $d1[3] < $d2[3] Then
Return -1
ElseIf $d1[3] = $d2[3] Then
If $d1[4] < $d2[4] Then
Return -1
ElseIf $d1[4] = $d2[4] Then
If $d1[5] < $d2[5] Then
Return -1
ElseIf $d1[5] = $d2[5] Then
return 0
Else
Return 1
EndIf
Else
Return 1
EndIf
Else
Return 1
EndIf
Else
Return 1
EndIf
Else
Return 1
EndIf
Else
Return 1
EndIf
EndFunc
Re: [..] Récupérer une liste de fichiers classée par DATE
Posté : mer. 12 juin 2013 12:10
par Izarra4autoit
Merci PandiPanda !
mais je viens d'essayer ton script en remplaçant :
* par *.txt dans : global $FileList = _FileListToArray( $path,"*.txt") ; list of TXT files
et 0 par -1 dans
$FileList = trieParDate($FileList,-1)
mais ça a pas l'air d'être correct sur mon poste ?
le résultat est erroné
tu l'as vérifié avec une liste de fichiers ?
Re: [..] Récupérer une liste de fichiers classée par DATE
Posté : mer. 12 juin 2013 13:16
par PandiPanda
J'ai corriger le "probleme" qui n'en etais pa vraiment un ... ^^
En fait j'ai écrit dans le script de recuperer la date lors de l'acces, mais on y accede aux fichier avant via "_FileListToArray" qui fait que tout les fichies avait le "même temps". Il suffit de vérifier la date lors de la modication.
Je vous ai fait une archive.
Re: [..] Récupérer une liste de fichiers classée par DATE
Posté : mer. 12 juin 2013 19:21
par mikell
@Panda
FileGetTime ("filename", 0, 1) + _ArraySort()

Re: [..] Récupérer une liste de fichiers classée par DATE
Posté : mer. 12 juin 2013 19:57
par PandiPanda
Oui j'y ai penser mais le probleme avec les chaine de caractere c'est ceci ...
alors certes pour des fichiers aussi court (dans le temps) ca poserai peut etre pas de probleme mais bon suis pas fan ^^
Re: [..] Récupérer une liste de fichiers classée par DATE
Posté : mer. 12 juin 2013 22:15
par mikell
Question de syntaxe
voire même si on reste dans les strings
Code : Tout sélectionner
MsgBox(0,"", StringFormat("%4d","256") > StringFormat("%4d", "1991"))
Re: [..] Récupérer une liste de fichiers classée par DATE
Posté : ven. 14 juin 2013 01:24
par Izarra4autoit

merci à tous les deux
je vais regarder ça de ce pas !
A+:)
