Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Inscrit en
    janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2013
    Messages : 5
    Points : 1
    Points
    1

    Par défaut Récupération de variables dans un fichier INI

    Bonjour,

    ne pouvant faire mon projet en batch je suis obliger de me tourner vers le vbs. Néanmoins, comment est-il possible de récupérer les variables d'un fichier INI suivant ce qui se trouve avant le égal?

    exemple:

    mon fichier ini

    STARTPROC1 = notepad.exe
    CHEMINSOURCE = test\test

    j'aimerais récupérer les variables qui se trouvent après le = mais en vérifiant ce qui se trouve avant le égale pour les ranger dans des bonnes variables.

    je ne sais pas si je suis clair mais si quelqu'un peut m'aider svp?

    merci d'avance

  2. #2
    Membre actif
    Homme Profil pro alain
    retraité
    Inscrit en
    juillet 2011
    Messages
    237
    Détails du profil
    Informations personnelles :
    Nom : Homme alain
    Âge : 68
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juillet 2011
    Messages : 237
    Points : 186
    Points
    186

    Par défaut

    salut
    je peux te proposer ce qui suit, il permet de retrouver tous les termes d'une phrase :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    toto="   STARTPROC1 = notepad.exe "
    dim t() ,it,z
            z=""
            '               stocker les mots ds un tableau (t)
    for i=1 to len(toto)
                x=mid(toto,i,1)
            if  x<>" "  then  z = z & x   else    call   charg_t
    next
            call charg_t
     
            zz=""
    for i=0 to ubound(t)-1
            zz=zz & t(i) & "<"  & vbcr
    next
    msgbox  zz
     
     
    sub charg_t
                    if z="" then exit sub
                    it=it+1
                    redim preserve t(it)
                    t(it-1)=z
                    z=""
    end sub
    Exécute-le et aménage à ta convenance.

    (c'est peut-être pas le plus astucieux, mais ça fonctionne)

  3. #3
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 379
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 379
    Points : 3 564
    Points
    3 564

    Par défaut

    Bonjour,

    Une autre méthode :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Const ForReading = 1
    Dim fso, Fichier, Ligne
    Set fso = CreateObject("Scripting.FileSystemObject")
    Str_Fichier = "LireIni.ini"
    Set Fichier = fso.OpenTextFile(Str_Fichier, ForReading, False)
    Do While Fichier.AtEndOfStream <> True
       Ligne = Fichier.ReadLine
       Egal = InStr(Ligne, "=")
       Variable = Trim(Left(Ligne, Egal - 1))
       Valeur = Trim(Mid(Ligne, Egal + 1))
       MsgBox "la valeur de " & Variable & " est : " & Valeur
    Loop
    Fichier.Close
    Set Fichier = Nothing
    Set fso = Nothing
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  4. #4
    Membre actif
    Homme Profil pro alain
    retraité
    Inscrit en
    juillet 2011
    Messages
    237
    Détails du profil
    Informations personnelles :
    Nom : Homme alain
    Âge : 68
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juillet 2011
    Messages : 237
    Points : 186
    Points
    186

    Par défaut

    dans le même style que PC75 voila une autre façon :
    Code :
    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
     fini="c:\windows\win.ini"
     
     Set        oFso = CreateObject("Scripting.FileSystemObject")
         if not ofso.fileexists(fini) then _
                msgbox "fichier non trouvé",, fini : wscript.quit
                 z="Variables             valeurs" & vbcr & _
                   "=============================" & vbcr
      Set f = oFso.OpenTextFile(fini)
      while Not f.AtEndOfStream
         l=f.readline
         if instr(1,l,"=") > 0 then
                 t= split(l,"=")
    '       +--------------------------------------------------+
    '       | la variable sera dans t(0)                       |
    '       | la valeur   sera dans t(1)                       |
    '       +--------------------------------------------------+
                 z=z & rpad(t(0),20) & "    " & t(1) & vbcr
         end if
      Wend
      f.Close
     
    msgbox  z
    '----------------complète par des espaces à droite------------------------------
    function rpad(y,z)
             rpad= y & string(z-len(y)," ")
    end function

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •