Page 1 sur 1
[R] Trouver le dernier fichier créer
Posté : mer. 25 juin 2008 17:04
par SurPriseS
Salut, un bail que j'étais pas passer ici ^^ mais bon je reprend un peu la prog sous autoit la ^^
Bref voila le soucis :
Je fait un petit script pour de la sauvegarde sur clé usb (je récupère les fichiers via winscp pendant) j'ai donc juste besoin de copier sur la clé le dernier fichier... et la je lutte... j'ai réussi à avoir les info qui m'intéressais sur le fichier en question mais je me vois mal faire tout les test pour trouver quel fichier est le plus récent...
Je post mon code pour le moment :
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.12.1
Author: SurPriseS
Script Function:
Sauvegarde automatique via commande SCP
#ce ----------------------------------------------------------------------------
#include <Process.au3>
#include <GUIConstants.au3>
#include <Date.au3>
; GUI
GuiCreate ( " Backup facture " , 270 , 230 ) ; fenêtre principale
GUISetState ( @SW_SHOW )
GUICtrlCreateGroup ( " Synchro " , 10 , 10 , 250 , 100 ) ; groupe synchronisation
$Button_synchro = GUICtrlCreateButton ( " Synchronisation " , 20 , 30 , 100 ) ; bouton synchronisation
GUICtrlCreateLabel( "Synchronisation : ",130,35)
GUICtrlCreateGroup ( " Clé USB " , 10 , 120 , 250 , 100 )
$label_synchro = GUICtrlCreateLabel("NOK",220,35)
GuiCtrlSetColor ( $label_synchro , 0xFF0000 ) ;rouge
list_lecteur()
last_file()
While 1
$msg = GUIGetMsg ( )
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
;synchronisation
Case $msg = $Button_synchro
synchro()
EndSelect
WEnd
; - - - - - - - - - - - - - - - - - - - - - Fonctions
; - - - - - - - - - - Synchronisation
Func synchro()
_RunDOS("winscp /console /script=maj.txt login:passwd@ip")
$label_synchro = GUICtrlCreateLabel("OK",220,35)
GuiCtrlSetColor ( $label_synchro , 0x1eff00 ) ;vert
$label_fichier1 = GUICtrlCreateLabel("Fichier 1 : " & "var",20,60)
$label_fichier2 = GUICtrlCreateLabel("Fichier 2 : " & "var",20,80)
EndFunc
; - - - - - - - - - - Liste des lecteurs
Func list_lecteur()
$test =""
$var = DriveGetDrive( "REMOVABLE" );"ALL", "CDROM", "REMOVABLE", "FIXED", "NETWORK", "RAMDISK", or "UNKNOWN"
If NOT @error Then
;MsgBox(4096,"", "Found " & $var[0] & " drives")
For $i = 1 to $var[0]
;MsgBox(4096,"Drive " & $i, $var[$i])
$combo_1 = GUICtrlCreateCombo("Clé USB", 20, 140,100)
$combo_1 = GUICtrlSetData(-1, $var[$i], "Clé USB")
Next
Else
$label_cle = GUICtrlCreateLabel("PAS DE CLE USB DETECTEE",20,140)
EndIf
EndFunc
; - - - - - - - - - - Backup
Func backup()
EndFunc
; - - - - - - - - - - Dernier fichier
Func last_file()
FileChangeDir("c:\saveqle")
$test12 = FileGetTime("script.mars31(UTC+0200).tar.bz2",0,1)
MsgBox(1,"test",$test12)
EndFunc
Y'a pas mal de truc pas encore implémenté mais sans cette fonction sa sert pas a grand chose... j'ai rien trouvé de particulier sur le sujet mais bon peut être pas chercher dans le bon sens...
Merci

Re: [..] trouver le dernier fichier créer
Posté : mer. 25 juin 2008 22:55
par tplanet
Salut
Essaie ça;
Code : Tout sélectionner
$dateplusrecent = 0
$fichierplusrecent = ""
FileChangeDir("c:\saveqle")
$search = FileFindFirstFile("*.*")
; Check if the search was successful
If $search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$datefichier = FileGetTime($file,0,1)
if $datefichier > $dateplusrecent then
$dateplusrecent = $datefichier
$fichierplusrecent = $file
EndIf
WEnd
MsgBox(1,"Fichier plus récent",$fichierplusrecent & @CR & $dateplusrecent)
; Close the search handle
FileClose($search)
Re: [..] trouver le dernier fichier créer
Posté : jeu. 26 juin 2008 13:24
par SurPriseS
Merci beaucoup d'après les premiers test sa a l'air de fonctionner comme je le désire !
Si sa roule je le finit pour se soir, je le posterais dans les exemples
