cs_nouki67
Messages postés1Date d'inscriptionjeudi 26 octobre 2006StatutMembreDernière intervention26 octobre 2006
-
26 oct. 2006 à 23:08
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
27 oct. 2006 à 06:13
bonsoir,
auriez vous un batch faisant a la fois une suppression d'extensions choisie sur repertoire si et seulement si les fichiers n'ont ete accede depuis plus d'un mois ?
je sais que sous unix c pondu en une ligne du genre + 7 atime.....
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 27 oct. 2006 à 06:04
Bonjour à tous....
Exemple avec fso.
Attention avec LastLastAccessed, car une simple recherche, via Explorer,
d'un mot dans des fichiers, modifie la date du dernier accès.
Option Explicit
Dim Path
Path = "d:\test"
MsgBox ShowFolderList(Path),vbInformation,"Fichiers supprimés du 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)
If fso.GetExtensionName(fichiers) = "txt" Then
fdate = f.DateLastAccessed ' ou DateCreated ou DateLastModified
fname = f.Name
dtDiffFile = DateDiff("d", Now, fdate)
If dtDiffFile <= -31 Then
' MsgBox "Le fichier " & Path & fname & " sera supprimé car créé le " & fdate
strListe = strListe & vbcrlf & vbcrlf & fname & " " & fdate
' fso.DeleteFile(Path & fname)
Else
' MsgBox "Le fichier " & Path & fname & " ne sera pas supprimé car créé le " & fdate
End If
End If
Next
ShowFolderList = "Fichiers supprimés car .txt" &vbCrLf&"et"&vbCrLf&"DateLastAccessed > 31 jours"&vbCrLf&vbCrLf& strListe
Set fso = Nothing
Set Dossiers = Nothing
Set f = Nothing
End Function