Page 1 sur 1

[R] Exécuter une seule fois par jour

Posté : ven. 26 nov. 2010 22:37
par Flomen
Bonjour,
J'ai planifier l'exécution d'une script AutoIt à chaque démarrage de windows, dans ce script, j'exécute un programme après un temps d'attente de 1 minute afin d'attendre l'achèvement du démarrage windows. Jusque là tout va bien, cependant je voudrais exécuter le programme qu'une seule fois par jour (cas de plusieurs démarrage windows dans la journée.
Est-ce possible ?
Si Oui comment ?
D'avance merci pour vos suggestions

Re: [..] Exécuter une seule fois par jour

Posté : ven. 26 nov. 2010 22:40
par sylvanie
Bonsoir.
On peut imaginer que l'exe vérifie l'existence d'un fichier qu'il à généré la dernière fois avec son ancienne date d'exécution, ou une clé de registre avec la même info

Re: [..] Exécuter une seule fois par jour

Posté : ven. 26 nov. 2010 23:17
par Davyly
Bonsoir,

Le code ci dessous devrait répondre à votre attente :

Code : Tout sélectionner

If RegRead("HKEY_CURRENT_USER", "Script") <>  @YDAY Then
    MsgBox(0, "Information", "Script du jour")
    RegWrite("HKEY_CURRENT_USER", "Script", "REG_SZ", @YDAY)
EndIf
J'utilise le même principe pour un inventaire des postes de mon entreprise, mais une fois par semaine avec un _WeekNumberISO().

Bonne soirée.

Re: [..] Exécuter une seule fois par jour

Posté : ven. 26 nov. 2010 23:29
par cutprod
A chaque fois que ton prog s' exécute il lance cette fonction =

Code : Tout sélectionner

if FileExists ($emplacfich ) Then ;si le fichier existe alors il appel la fonction vérification 
    verif()
     Else ;si il n'existe pas on le crée
    _FileCreate($emplacfich ) ;on crée le fichier
    FileWrite($emplacfich ,@ComputerName&" ["&@MDAY&"_"&@MON&"_"&@YEAR&"]"&@CRLF) ;on écrit dans le fichier  le nom du pc  et la date tu n'est pas obliger c'est pour le fun vu que le script ne regardera que la date de creation
EndIf
la fonction vérification =

Code : Tout sélectionner

Func verif()
$t=FileGetTime(($emplacfich,1) ;regarde la date de création de ce fichier avrc l'option "1" pour regarder la creation et pas la modif
    $creationfile = $t[2] & "_" & $t[1] & "_" & $t[0] ; enregistre cette date
    $today= @MDAY&"_"&@MON&"_"&@YEAR ;regarde la date aujourdh'hui
if $creationfile = $today Then ;si le fichier a ete crée aujourd'hui alors rien
    Else ;si le fichier trouver n'a pas ete crée aujourd'hui
    FileDelete ($emplacfich);tu l'efface pour repartir de ce jour
    func a_executer();tu appel la fonction a executer
EndIf
EndFunc
Dans la variable "$emplacfich" tu rentre le chemin d'acce de ton fichier (C:\....)

Re: [R] Exécuter une seule fois par jour

Posté : sam. 27 nov. 2010 00:54
par Flomen
Merci à tous d'avoir répondu aussi vite, dans vos réponses j'ai trouvé mon bonheur.
Merci

Re: [..] Exécuter une seule fois par jour

Posté : sam. 27 nov. 2010 09:17
par cutprod
Comme quoi! Le bonheurs :lol: :lol: se cache parfois dans des petites choses...

Re: [..] Exécuter une seule fois par jour

Posté : sam. 27 nov. 2010 10:07
par Jerome
Coucou,



N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.



Jérôme

Re: [R] Exécuter une seule fois par jour

Posté : sam. 27 nov. 2010 14:30
par Flomen
Jerome a écrit :Coucou,



N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.



Jérôme

Re: [R] Exécuter une seule fois par jour

Posté : sam. 27 nov. 2010 14:32
par Flomen
[R]Résolu

Re: [..] Exécuter une seule fois par jour

Posté : sam. 27 nov. 2010 15:21
par Jerome
Il faut éditer ton premier post :roll:

Re: [..] Exécuter une seule fois par jour

Posté : sam. 27 nov. 2010 17:34
par bloodwolff
Ahah :lol: