1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    décembre 2006
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : décembre 2006
    Messages : 1 060
    Points : 279
    Points
    279

    Par défaut Convertir un fichier texte structuré en tableau ou objet

    Bonjour à tous !

    J'ai un fichier qui contient ce texte :

    --------------
    DeviceID=xxxxxxxx
    IPaddress=xx.xx.xx.xx
    Platform=xxxxxxxx
    --------------
    DeviceID=xxxxxxxx
    IPaddress=xx.xx.xx.xx
    Platform=xxxxxxxx
    --------------
    DeviceID=xxxxxxxx
    IPaddress=xx.xx.xx.xx
    Platform=xxxxxxxx
    J'aimerai pouvoir convertir ce texte en objet ou tableau

    DeviceID;IPaddress;Platform
    xxxxxxxx;xx.xx.xx.xx;xxxxxxxx

    J'ai essayé avec cette fonction que j'avais sous le coude en remplaçant les "--------------" par des [#] comme dans un fichier ini

    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
    # Parse un fichier INI
    function Get-IniContent ($filePath)
    {
        $ini = @{}
        switch -regex -file $filePath
        {
            "^\[(.+)\]$"
            {
                $section = $matches[1]
                $ini[$section] = @{}
    
            }
            "^([^=]+)={1}([^=]*)$"
            {
                $name, $value = $matches[1..2]
                $ini[$section][$name] = $value 
            }
        }
        return $ini
    }
    Le hic c'est que je ne sais plus comment afficher les données autre que de faire "$IniContent['1']['DeviceID']"

    En vous remerciant par avance.

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    décembre 2006
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : décembre 2006
    Messages : 1 060
    Points : 279
    Points
    279

    Par défaut

    Finalement j'ai réussi ! Je suis rouillé aujourd'hui !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Foreach ($Section in ($IniContent.GetEnumerator()))
    {
        ForEach($Parametre in $Section.Value) {
            Write-Host $Parametre.DeviceID $Parametre.IPaddress $Parametre.Platform
        }
    }
    Après, il y a peut être plus optimisé en façon de faire que de passer par la lecture d'un fichier ini (à l'origine le fichier n'est pas sous cette forme, je le transforme au préalable).

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    janvier 2003
    Messages
    6 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 6 851
    Points : 15 177
    Points
    15 177
    Billets dans le blog
    1

    Par défaut

    Salut,
    j'avais réalisé une fonction générique, à voir si elle est adaptée à ton cas/environnement.

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

Discussions similaires

  1. Convertir un fichier texte en tableau
    Par Litenkatt dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 26/07/2014, 11h47
  2. lecture d'un fichier texte vers un tableau de structure
    Par syki.mail dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/06/2012, 21h38
  3. convertir un fichier texte en un tableau de bytes
    Par Septembre84 dans le forum IO
    Réponses: 2
    Dernier message: 30/05/2008, 17h44
  4. [Tableaux] Stocker un fichier texte dans un tableau
    Par clairette59 dans le forum Fonctions
    Réponses: 13
    Dernier message: 28/01/2006, 00h48
  5. Réponses: 5
    Dernier message: 15/05/2005, 09h51

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