Page 1 sur 1

[..] Liste tout les nouveaux fichiers depuis une date.

Posté : sam. 26 déc. 2009 16:02
par cortx
Bonjour;

Je suis à la recherche de quelqu'un pouvant réaliser un programme.

Je cherche à obtenir une liste de tout les fichiers nouvellement créer sur un disque dur USB depuis une date.
Avec une fenetre demandant la date depuis quant rechercher et une sortie en format texte (fichier ou fenêtre) indiquant toute l'arborescence des nouveaux fichiers.

Je ne manipule pas assez Autoit pour m'en sortir tout seul, donc si quelqu'un à ca dans ses cartons ou a un coup de motivation pour faire ca, je suis preneur.

Merci beaucoup

Re: [..] Liste tout les nouveaux fichiers depuis une date.

Posté : sam. 26 déc. 2009 19:50
par timmalos
Bon ca fait une heure que j'essaye de mofier FileListToArrayXT sans reussite, donc je poste le programme terminé en contournant le probleme, mais forcement un peu plus long ...

Le code necessite FileListToArrayXT disponible ici :
http://www.autoitscript.fr/forum/viewto ... 484#p20484

Code : Tout sélectionner

include<Array.au3>
#include<FileListToArrayXT.au3>
;La date doit etre au format YYYYMMDDHHMMSS
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Generateur de liste", 368, 267, 192, 124)
$Combo1 = GUICtrlCreateCombo("01", 56, 72, 57, 25)
GUICtrlSetData(-1, "02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31", "01")
$Combo2 = GUICtrlCreateCombo("01", 136, 72, 57, 25)
GUICtrlSetData(-1, "02|03|04|05|06|07|08|09|10|11|12", "01")
$Combo3 = GUICtrlCreateCombo("1990", 216, 72, 65, 25)
GUICtrlSetData(-1, "1991|1992|1993|1994|1995|1996|1997|1998|1999|2000|2001|2002|2003|2004|2005|2006|2007|2008|2009", "2009")

$Group1 = GUICtrlCreateGroup("Formulaire", 48, 56, 273, 193)
$Button1 = GUICtrlCreateButton("Creez le fichier", 88, 136, 193, 89, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)


While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            GUICtrlSetData($Button1,"Creation en cours... Veuillez Patienter")
            creer(GuiCtrlRead($Combo3)&GuiCtrlRead($Combo2)&GuiCtrlRead($Combo1))
            MsgBox(0,"Terminé","Le fichier se trouve dans le repertoire du programme.")
    EndSwitch
WEnd

Func creer($date)
$date2 = $date&"000000"
$resultat_final = ""
$ar_Array = _FileListToArrayXT ("c:\", "*", 1, 2, True, "Temp",1)
For $i = 1 to $ar_Array[0]
    If FileGetTime($ar_Array[$i],1,1) > $date2 then $resultat_final &= $ar_Array[$i] & @CRLF
Next
FileWrite(@ScriptDir & "\liste_fichiers_crees_apres_le"&$date&".txt",$resultat_final)
EndFUnc

Re: [..] Liste tout les nouveaux fichiers depuis une date.

Posté : dim. 27 déc. 2009 09:39
par cortx
Ca marche nikel, merci timmalos
Par contre il me semble que la variable "$bRecursive" positionné à TRUE ne fonctionne pas pour la recherche dans les sous répertoires.