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

VBScript Discussion :

recuperer valeur dans un fichier texte


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 25
    Par défaut recuperer valeur dans un fichier texte
    bonjour a tous je cherche a recuperer dans un fichier texte precis une chaine de caractere mais je ne vois pas comment j'ai deja un bout de script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    'déclaration file system object
    Dim fso
     
    'instanciation
    Set FSO = CreateObject("Scripting.FileSystemObject")
     
    'on instance le fichier texte 
    Set Ftxt = FSO.OpenTextFile("Monchemin")
     
    'on parcours chaque ligne du fichier texte
    Do While Not Ftxt.AtEndOfStream
          MaVariable = Ftxt.Readline
          '....... <- votre code ici pour traiter chaque ligne
    Loop

    qui lit un fichier mais je ne vois pas comment isoler ma valeur (qui change tout le temps c'est un compteur)

    le fichier est generé par un batch et resort sour la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Variable = .iso.org.dod.internet.private.enterprises.367.3.2.1.2.19.1.0
    Value    = Integer32 166845 <== valeur a recuperer

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Sur chaque ligne, je ferais un Split sur "=".
    Si l'index 0 du Split = "Value" -> Un Trim sur l'index 1 et encore un Split sur " ".
    La valeur cherchée doit être à l'index 1.

    A la louche, ça doit donner (non testé).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    aSplit = Split(MaVariable, "=")
    If Trim(aSplit(0)) = "Value" Then LaValeurCherchee = Split(Trim(aSplit(1)), " ")(1)
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 25
    Par défaut euuu
    pour etre franc jai rien compris a ce que tu ma dit (noob )

    split = extraction d'une valeur d'un tableau ???

    en fait je ne peut pas changer mon fichier texte qui contient ma variable (redirection de sortie d'une commande dos "CMD > toto.txt")

    ce n'est pas possible de dire : dasn toto.txt a la ligne X, de l'espace Y a Y+6 tu me met cette valeur dans une variable??

    merci d'avance je cherche toujour de mon coté je debute c ardu

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par darksnake
    pour etre franc jai rien compris a ce que tu ma dit (noob )
    As-tu essayé?

    Je ne te parle pas de modififier ton fichier mais bien de récupérer la valeur à mettre dans la variable en testant si la ligne commence par "Valeur".

    Ce code est à mettre à la place de "Votre code ici..."
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 25
    Par défaut jai autre chose
    bon je commence a deserperer malgré votre aide

    jai modifier 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
    15
    16
    17
    18
    19
     
    'déclaration file system object
    Dim fso
     
    'instanciation
    Set FSO = CreateObject("Scripting.FileSystemObject")
     
    'on definir ou est le ficheir texte
    Set Ftxt = FSO.OpenTextFile("C:\plouf.txt")
     
    'on parcours chaque ligne du fichier texte
    Do While Not Ftxt.AtEndOfStream
          MaVariable = Ftxt.Readline
          aSplit = Split(MaVariable, "Value")
     
    loop
     
    Resultat = Mid(MaVariable, 21, 28)
    msgbox Resultat
    c aleatoire sa marche de temps en temsp (quand je genere un nouveau fichier sa ne marche plus (?) bref c aleatoire

    pour extraire juste les donnée que je veut (vu quelle ne bouge jamais) jai utilisé "mid"

    je ne vois pas pourquoi c aleatoire

    pourtant c simple et "rigide" comme code sa devrait pas bouger HELP

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 25
    Par défaut C bon je suis sur il marche
    voila apres un triturage de neurone et un survol de la doc Vbs jai enfin mon code qui marche !!!

    je le met au cas ou sa interesse qqn

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Function ReadTextFileTest
       Const ForReading = 1, ForWriting = 2, ForAppending = 8
       Dim fso, f, Msg
       Set fso = CreateObject("Scripting.FileSystemObject")
          Set f = fso.OpenTextFile("c:\plouf.txt", ForReading)
       ReadTextFileTest =  f.Read(100) 'lit les 100 premier caractere du fichier 
    End Function
          msgbox ReadTextFileTest
     
    Resultat = Mid(ReadTextFileTest, 94, 98) 
    'ligne a extraite de "ReadTextFileTest"
          msgbox resultat
    merci a tous pour votre aide ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/12/2014, 14h12
  2. Réponses: 2
    Dernier message: 19/05/2008, 10h34
  3. Récuperer une valeur dans un fichier texte
    Par sucrepop dans le forum Langage
    Réponses: 6
    Dernier message: 05/06/2007, 15h01
  4. Lecture de valeurs dans un fichier texte (txt)
    Par zerbault dans le forum Fortran
    Réponses: 2
    Dernier message: 22/01/2007, 10h29
  5. pb de recuperation valeur dans un champ texte
    Par kikou33 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/06/2005, 11h43

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