Page 1 sur 1

[R] Problème avec format de date

Posté : mer. 27 août 2008 14:20
par Yogui
je dois (afin de me simplifier la vie :)) faire un petit script qui reboot un matériel réseau si un fichier log est en erreur.

en winat je ferai (si ce script fonctionne) tourner mon script toutes les 5 minutes (le system n'étant vraiment pas fiable)

Mes problèmes : le fichier log n'est vraiment pas bien fait :( un p'tit exemple :
► Afficher le texte
Mon problème est de retrouver les erreurs depuis le passage du script et de rebooter le boitier (appeler COM) mais ma comparaison au niveau des dates ne fonctionne pas (comparer deux string c'est pas génial) y'a t il un moyen de le faire ?

Mon script :
► Afficher le texte


(c'est ma premiere fois avec des tableaux alors si y'a moyen de corriger :))

sachant que ce petit bout de script est voulu :)
► Afficher le texte
encore merci à tous et déjà merci à Tlem à qui j'ai déjà copier 95 % de ce script (date + tableau)

Re: [..] Problème avec format de date

Posté : mer. 27 août 2008 14:34
par Yogui
j'ai tenté avec _DateDiff

je ne suis pas certain de savoir le faire fonctionner

Re: [..] Problème avec format de date

Posté : mer. 27 août 2008 16:44
par Tlem
Comme ceci ?

Code : Tout sélectionner

#Include <Date.au3>

$Log = "25/08/2008 15:39.37 COM7 Etat=ERREUR_3, nbre erreurs consecutives : 5."
$Res = StringSplit($Log, " ")

; Traitement N°1 : Mettre la date au format Anglais.
$aDate = StringSplit($Res[1], "/")
;_ArrayDisplay($aDate,"")
$Date = $aDate[3] & "/" & $aDate[2] & "/" & $aDate[1]

; Traitement N°2 : Mettre l'heure au bon format.
$Time = StringReplace($Res[2], ".", ":")

; On compare la date du LOG à la date actuelle. Si > à 5 on affiche la ligne de LOG.
If _DateDiff('n',$Date & " " & $Time,_NowCalc()) > 5 Then
    MsgBox(64, "Info", $Log)
EndIf

Re: [..] Problème avec format de date

Posté : jeu. 28 août 2008 08:01
par Yogui
MERCI

c'est exactement comme ceci parfait... seule petite erreur... et de ma part :oops:

If _DateDiff('n',$Date & " " & $Time,_NowCalc()) > 5 Then

n'est pas correcte pour la comparaison il faut plutot

If _DateDiff('n',$Date & " " & $Time,_NowCalc()) < 5 Then

il ne me reste plus qu'a comparer les numéros des com avec leurs IP et de lancer un reboot :)

Encore merci