cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010
-
5 nov. 2005 à 22:45
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
6 nov. 2005 à 01:22
SLt a tous,
J'ai un gros problème, j'aimerais savoir comment on peut obtenir la
date de modification d'un fichier pour ensuite pour pouvoir la comparer
à une autre.
cs_jeanmarc
Messages postés34Date d'inscriptionmardi 18 juin 2002StatutMembreDernière intervention22 novembre 2005 5 nov. 2005 à 22:57
Bonsoir,
Exemple avec DateLastModified
Dim Path
Path = "d:\KRNSDE"
MsgBox ShowFolderList(Path),vbmessage,"Fichiers présents dans le répertoire"
Function ShowFolderList(strPath)
Dim fso, Dossiers, fic, fichiers, strListe, f, fdate, fname, dtDiffFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossiers = fso.GetFolder(path)
Set fic = Dossiers.Files
For Each fichiers in fic
Set f = fso.GetFile(fichiers)
fdate = f.DateLastModified
fname = f.Name
dtDiffFile = DateDiff("d", Now, fdate)
If dtDiffFile <= -5 Then
MsgBox "Le fichier " & Path & fname & " sera supprimé car créé le " & fdate
' fso.DeleteFile(Path & fname)
Else
MsgBox "Le fichier " & Path & fname & " ne sera pas supprimé car créé le " & fdate
End If
strListe = strListe & vbcrlf & vbcrlf & fname & " " & fdate
Next
ShowFolderList = strListe
End Function
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 5 nov. 2005 à 23:51
j'aime pas fso !
' le plus simple
MsgBox FileDateTime(nom)
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA"
(ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal
dwSharedMode As Long, ByVal lpSecurityAttributes As Long, ByVal
dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long,
ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As
Long, lpCreationTime As Currency, lpLastAccessTime As Currency,
lpLastWriteTime As Currency) As Long
Private Declare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As Currency, lpLocalFileTime As Currency) As Long
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 6 nov. 2005 à 00:43
Bravo, enfin du vrai code.
FSO c'est attacher une remorque derrière une 2cv, vb n'est déjà pas violent, inutile de le ralentir encore en chargeant une machine script par dessus.
Gobillot > tu peux faire idem sans ouvrir avec CreateFile, pourrait rater si un prog a déjà ouvert en exclusif. FindFirstFile et tu fais un CopyMemory sur les 2 champs de WIN32_FIND_DATA.