[VBScript] Vérifier présence de 2 mots dans un fichier log
paco6999
Messages postés1Date d'inscriptionvendredi 20 juillet 2007StatutMembreDernière intervention17 août 2007
-
17 août 2007 à 01:29
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
24 août 2007 à 06:00
Bonjour à tous,
J'ai besoin de faire un script vb qui va, dans une boucle:
- lire un fichier log.
- vérifier si 2 mots sont présents; si les 2 sont présents, résultat: ok; si un des 2 mots est manquant, résultat: ko.
- dans tous les cas, écriture du résultat dans un fichier texte, avec comme syntaxe: nom_serveur;résultat
Je le fais dans le but de me simplifier la vie, dans le cadre d'une
vérification concernant 900 machines, par tranche de 150 à 200 machines
par session.
Si quelqu'un peut me donner des débuts de piste, sachant que je ne sais
pas s'il faut que j'utilise StreamReading ou OpenAsTextStream pour la
lecture du fichier, à la base, selon la methode utilisée (s'il en
existe une) pour localiser les 2 mots importants.
MsgBox Exemple1,,"exemple avec OpenTextfile et ReadAll"
Msgbox Exemple2,,"exemple avec OpenTextStream et ReadLine"
'**********************************************************
Function Exemple1()
Dim objFso, objFile
Dim strFile
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile( fichierLog, 1)
strFile = objFile.ReadAll
objFile.Close
If UBound(Split(strFile, chaine1)) <> 0 And _
UBound(Split(strFile, chaine2)) <> 0 Then
Exemple1 = "Function Exemple1 : chaine1 et chaine2 trouvées"
Else
Exemple1 = "Function Exemple1 : chaine1 et chaine2 non trouvées"
End If
Set objFile = Nothing
Set objFso = Nothing
End Function
'**********************************************************
Function Exemple2()
Dim objFso, objTextStream
Dim strLine, strChaine1, strChaine2strChaine1 False : strChaine2 False
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFso.OpenTextFile(fichierLog, 1)
Do While Not objTextStream.AtEndOfStream
strLine = objTextStream.ReadLine
If Ubound(split(strLine, chaine1)) >1 Then strChaine1 True If Ubound(split(strLine, chaine2)) >1 Then strChaine2 True
If strChaine1 True And strChaine2 True Then
Exemple2 = "Function Exemple2 : chaine1 et chaine2 trouvées"
Exit Do
End if
Loop
ObjTextStream.CloseIf strChaine1 False Or strChaine2 False Then _
Exemple2 = "Function Exemple2 : chaine1 et chaine2 non trouvées"
Set objTextStream = Nothing
Set objFso = Nothing
End Function