cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
26 juin 2002 à 11:04
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
26 juin 2002 à 14:34
Bpnjour,
En VBS, j'ai créé:
- une variable aaqqq (année + quantième du jour machine)
- une variable aaqqq5 extraite des caractères du nom d'un fichier
Aujourd'hui, j'ai donc:
aaqqq = 02177
aaqqq5 = 02172
Je n'arrive pas à faire aaqqq - aaqqq5 = 5
J'ai un résultat négatif.
J'ai essayé pas de fonctions de reconversion, mais nenni...ca marche pas !!!
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 26 juin 2002 à 11:07
Dim Path
Path = "c:\KRNSDE"
MsgBox ShowFolderList(Path),vbmessage,"Fichiers contenus dans le répertoire " & Path
Function ShowFolderList(strPath)
Dim fso, Dossiers, fic, fichiers, strListe
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossiers = fso.GetFolder(strPath)
Set fic = Dossiers.Files
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' conversion de la date du jour (jjmmaa) en aaqqq -5 jours '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim qqq, aaqqq, aaqqq5
qqq = DatePart("y", Date)
If qqq < 10 Then
aaqqq = Right(Date,2) & "00" & DatePart("y", Date)
aaqqq5 = Right(Date,2) & "00" & DatePart("y", DateAdd("d", -5, Date))
Else
If qqq < 100 Then
aaqqq = Right(Date,2) & "0" & DatePart("y", Date)
aaqqq5 = Right(Date,2) & "0" & DatePart("y", DateAdd("d", -5, Date))
Else
aaqqq = Right(Date,2) & DatePart("y", Date)
aaqqq5 = Right(Date,2) & DatePart("y", DateAdd("d", -5, Date))
End If
End If
'MsgBox "aaqqq " & aaqqq & " aaqqq5 " & aaqqq5 & " test jmo"
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' delete des fichiers inférieurs de 5 jours à aaqqq '
' variable fichiers => c:\KRNSDE\SDE_yyy-aaqqq '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim diff
For Each fichiers in fic
diff = aaqqq - Mid(fichiers,19,5)
MsgBox aaqqq & " - " & aaqqq5 & " = " & diff
If diff >= 5 Then
MsgBox Mid(fichiers,19,5)
MsgBox "aaqqq =" & aaqqq & " fichier=" & fichiers & " sera deleté ..diff=" & diff
'fso.DeleteFile
Else
MsgBox Mid(fichiers,19,5)
MsgBox "aaqqq =" & aaqqq & " fichier=" & fichiers & " ne sera pas deleté ..diff=" &diff
End If
strListe = strListe & vbcrlf & vbcrlf & fichiers.Name & " Date (jjmmaa) : " & fichiers.DateLastModified
Next
nariel1
Messages postés55Date d'inscriptionmardi 21 mai 2002StatutMembreDernière intervention 6 mai 2009 26 juin 2002 à 12:36
essaie ca et dit moi si c'est ok
Dim strfolder
strfolder = "c:\KRNSDE"
Dim fso, f, fdate, fname, fic
Dim dtDiffFile As Date
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossiers = fso.GetFolder("strfolder ")
Set fic = Dossiers.Files
For Each fichiers In fic
Set f = fso.GetFile(fichiers)
fdate = f.DateCreated
fname = f.Name
dtDiffFile = DateDiff("d", Now, fdate)
If dtDiffFile <= -5 Then fso.DeleteFile (fname)
Next
ps: dans un fichier n'utilise pas "-" c'est pas tres bon pour ton programe
nariel1
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 26 juin 2002 à 14:34
Salut,
Pourquoi faire long quand on peut faire court !!!!!!
Ca marche. J'est testé avec DateLastModified.
Je ne sais pas pourquoi je suis venu m'enterrer avec cette date -5, puisque qu'il y a "created", "last accessed, lastmodified...
Merci de ta proposition qui raccourcit considérablemnt le code.
J'ai noté ton surnom "nariel1" dans mon répertoire à questions !!!
Je débute en VBS...c'est pas trop évident pour certaines manipulations, mais heureusement ca se rapproche de plusieurs langages que je pratique sur BULL depuis qques années.
Et sur le Forum, il n'y a pas beaucoup de personnes qui connaissent VBScript.
Je suis aussi en contact "journalier" avec VicoLaChips2 qui lui se démmerde bien