IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[VBScript] Vérifier présence de 2 mots dans un fichier log


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut [VBScript] Vérifier présence de 2 mots dans un fichier log
    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.

    Merci d'avance,

    paco

  2. #2
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Sorry, double poste !
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  3. #3
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonjour,
    Je ne pourrais pas t'aider en VB mais je pense qu'un simple fichier bach suffis, non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    rem Recherche de la premiere chaine de caractère dans le fichier
    rem Si la recherche à aboutie:
        rem Recherche de la deuxieme chaine de caractère dans le fichier
        rem Si la recherche à aboutie:
            rem Ecrire OK dans le rapport
        rem Sinon:
            rem Ecrire KO dans le rapport
    rem Sinon
    Ecrire KO dans le rapport
    Tu peux faire la recherche grace à findstr, les conditions avec if et else et pour écrire dans un fichier c'est echo tachaine > fichier_destination
    un seul > pour crée le fichier (ou écraser le fichier existant)
    deux > (>>) pour ajouter à la fin du fichier ^^
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Effectivement, avec FINDSTR, il me trouve les mots que je veux, c'est bien plus simple.
    Par contre pour le reste, j'ai du mal.
    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @echo off
    for /F "tokens=1,2,3 delims=;" %%i in (liste.txt) do set nommag=%%j&call 
    
    :BOUCLE %%i %%k
    set /A compteur=0
    set /A nbpbrezo=0
    set nommag=
    goto :EOF
    
    :BOUCLE
    if findstr "mot1 mot2" == "mot1 mot2" srv(num_serveur).log
    echo srv(num_serveur);ok >> analyse.log
    else echo (num_serveur);ko >> analyse.log
    :FIN
    Je dois avoir pleins d'erreurs...
    Au passage, existe t'il un soft comme visual basic 2005 express pour le batch?

    Merci bien,


    paco

  5. #5
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par paco69 Voir le message
    Au passage, existe t'il un soft comme visual basic 2005 express pour le batch?
    http://www.astase.com/produits/powerbatch/

    Le code que tu a écri fonctionne ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Merci pour le lien

    Non, le script ne marche pas du tout. Je ne sais pas ou regarder pour trouver les erreurs, certainement des erreurs de syntaxe.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    set mot1=titi
    set mot2=toto
    
    if findstr "%mot1% %mot2%" srv(num_srv).log (
    echo (num_srv);ok >> analyse.log
    ) else ( echo (num_srv);ko >> analyse.log
    )
    J'ai quoi comme erreur??

Discussions similaires

  1. Vérifier la présence d'un mot dans un fichier texte
    Par Sophie_Géo dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 13/03/2015, 14h44
  2. Vérifier présence d'une variable dans une colonne.
    Par sarah-geek dans le forum Général VBA
    Réponses: 4
    Dernier message: 01/08/2012, 14h02
  3. Vérifier la présence d'un mot dans une liste
    Par herken1986 dans le forum C#
    Réponses: 6
    Dernier message: 08/02/2012, 11h44
  4. Tester la présence de plusieurs mots dans une phrase
    Par Azerty32 dans le forum Général Python
    Réponses: 20
    Dernier message: 30/07/2010, 17h15
  5. Réponses: 12
    Dernier message: 28/04/2009, 23h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo