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 :

Récupérer des valeurs dans un fichier pour renseigner une variable


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Récupérer des valeurs dans un fichier pour renseigner une variable
    Bonjour,
    Je suis complètement débutant en script, et j'ai besoin de faire la manipulation suivante.
    Lire le contenu d'un fichier texte. Chercher plusieurs valeurs et les renseigner dans des variables.

    Grossièrement :

    Mon fichier texte :

    propriété1 = valeur1
    propriété2 = valeur2
    ...

    Mes variables que je souhaite renseigner :

    variable1 = valeur1
    variable2 = valeur2

    Comment puis-je faire cela ?

    Merci de votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Points : 304
    Points
    304
    Par défaut
    Bonjour Jamy !
    Ta question manque un peu de précision pour pouvoir te conseiller.
    Peux-tu nous en dire un peu plus sur le fichier texte en entrée et sur son format ?
    Il faudrait isoler des critères pour pouvoir extraire les valeur1, valeur2 ...

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Bonjour Cachlab,
    Merci de ton retour rapide.

    Il s'agit de lire un fichier INI précisément. Il est formé de plusieurs sections entre crochets, avec des propriétés et leurs valeurs.

    Je dois récupérer les valeurs d'au moins 2 de ces propriétés contenues dans ce fichier. Je connais les noms des propriétés à relever.
    Leurs petits noms :
    SSAPI_Pattern_Version
    Ptnfile_Version

    Si tu as besoin d'autres infos...

    Merci !!

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Points : 304
    Points
    304
    Par défaut
    Well, je peux te proposer quelquechose dans ce style ...

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Const ForReading = 1
    Dim oFSO, variable()
    Set OFSO = WScript.CreateObject("Scripting.FileSystemObject")
     
    fichier_txt = "mon_fichier_texte.txt"
     
    ' Récupérer nombre de ligne du fichier pour dimensionner le tableau variable()
    Set lect = oFso.OpenTextFile(fichier_txt, ForReading)
    ts = lect.ReadAll
    nbr_lignes = lect.Line
    Redim variable(nbr_lignes)
    lect.close
     
    ' Extraire pour chaque ligne ce qu'il y a après le signe =
    Set lect = oFso.OpenTextFile(fichier_txt, ForReading)
    i=0
    While Not lect.AtEndOfStream
    i=i+1
    Ligne = lect.ReadLine
    propriete = Left(Ligne,InStrRev(Ligne,"="))
    value = right(Ligne, len(Ligne) - len(Propriete))
    variable(i) = value
    Wend
    lect.close
     
    'Afficher les variables
    for j = 1 to i
    msgbox(variable(j))
    next

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Yes,
    Pas mal merci !

    Enfin, si je souhaite récupérer seulement les valeurs de 2 propriétés connues dans 2 des lignes, comment peut on procéder ?
    Si c'est dans tes cordes
    Merci de ton aide

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Points : 304
    Points
    304
    Par défaut
    Salut ! ... voilà le genre de précisions que j'attendais ...
    Du coup cela semble encore plus simple :
    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
    Const ForReading = 1
    Dim oFSO, variable(2)
    Set OFSO = WScript.CreateObject("Scripting.FileSystemObject")
     
    fichier_txt = "mon_fichier_texte.txt"
     
    Set lect = oFso.OpenTextFile(fichier_txt, ForReading)
    While Not lect.AtEndOfStream
    Ligne = lect.ReadLine
    propriete = Left(Ligne,InStrRev(Ligne,"="))
    value = right(Ligne, len(Ligne) - len(Propriete))
    if propriete = "SSAPI_Pattern_Version=" Then variable(1) = value
    if propriete = "Ptnfile_Version=" Then variable(2) = value
    Wend
    lect.close
     
    msgbox("variable1 = " & variable(1) & vbCrLf & "variable2 = " & variable(2))

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Niquel,
    Je récupère bien ce que je souhaite, c'est super !!!
    Je te remercie pour ton aide rapide !

    @ bientôt !

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    comment faire pour qu'il ne tienne pas compte des espaces au niveau de ce qui se trouve dans les guillemets et dans le fichier INI.

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

Discussions similaires

  1. Récupérer des valeurs dans un fichier
    Par wiwiRI dans le forum Langage
    Réponses: 1
    Dernier message: 24/09/2012, 14h22
  2. Réponses: 13
    Dernier message: 09/11/2011, 12h06
  3. VBS, récupérer des valeurs dans un fichier texte
    Par hugodu13 dans le forum VBScript
    Réponses: 2
    Dernier message: 09/12/2010, 20h04
  4. Réponses: 1
    Dernier message: 19/04/2008, 16h26
  5. Réponses: 6
    Dernier message: 28/12/2007, 22h34

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