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

Scripts/Batch Discussion :

Convertir un fichier texte structuré en tableau ou objet [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    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 éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    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
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    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, 10h47
  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, 20h38
  3. convertir un fichier texte en un tableau de bytes
    Par Septembre84 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 30/05/2008, 16h44
  4. [Tableaux] Stocker un fichier texte dans un tableau
    Par clairette59 dans le forum Langage
    Réponses: 13
    Dernier message: 27/01/2006, 23h48
  5. Réponses: 5
    Dernier message: 15/05/2005, 08h51

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