VB - Utilisation de conditions & lecture dans un fichier texte [Résolu/Fermé]

Signaler
Messages postés
1423
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
10 novembre 2020
-
Messages postés
1423
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
10 novembre 2020
-
Bonjour à tous !

J'essaie en vain de trouver un moyen pour que mon petit script ouvre un fichier texte, lise la date à l'intérieur et si cette date corespond à la date du jour alors d'effectuer la condition présente.
A savoir, à la fin du script, la date du jour va être mise dans le fichier texte et ceci est voulu ! C'est pour que la condition présente ne se lance qu'une fois par jour ! (ou du moins, que mon script ne se lance qu'une fois par jour.)

En ce moment, tout va très bien, sauf que la condition n'est comme pas lue !
Voilà mon code :

Const ForReading = 1, ForWriting = 2

Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim fso, f, f_read

' Lis dans le fichier la date déjà présente
Set f_read = fso.OpenTextFile("Fct_UV.txt", ForReading)

' Si la date dans le fichier = date du jour alors ...
If f_read.readline = Date Then
	msgbox "Date du jour ! Pas de lancement"
Else
	msgbox "Nouvelle date ! Lancement..."
	'Suite du code à mettre ici, une fois que la condition fonctionnera !
End If

' A la fin de la condition, la date du jour se met dans le fichier pour n'effectuer le script une seule fois par jour.
Set f = fso.OpenTextFile("Fct_UV.txt", ForWriting,True)
f.write(Date)

2 réponses

Messages postés
1423
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
10 novembre 2020
447
Résolu !
C'était un problème de format, je laisse la soluc' pour les autres !
Const ForReading = 1, ForWriting = 2

Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim fso, f, f_read

' Lis dans le fichier la date déjà présente
Set f_read = fso.OpenTextFile("Fct_UV.txt", ForReading)


' Si la date dans le fichier = date du jour alors ...
If Date = CDate(f_read.readline) Then
	msgbox "Date du jour ! Pas de lancement"
	
Else
	msgbox "Nouvelle date ! Lancement..."
	'Suite du code à mettre ici, une fois que la condition fonctionnera !
End If

f_read.close

' A la fin de la condition, la date du jour se met dans le fichier pour n'effectuer le script une seule fois par jour.
Set f = fso.OpenTextFile("Fct_UV.txt", ForWriting,True)
f.write(Date)
f.close

Messages postés
14741
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 décembre 2020
268
Quel VB ? (VBS, VBA, VB6, VBNET, ... )
As-tu regardé les valeurs que ça te met ?
Messages postés
1423
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
10 novembre 2020
447
C'était du VBS !
Ouais il voulait pas faire la comparaison entre un Date et un String ça lui allait pas !
J'ai tout mis en format Date est s'est passé tout seul !