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
#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
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
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 ?
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.