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 :

Ajout valeur dans un tableau


Sujet :

Scripts/Batch

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Ajout valeur dans un tableau
    Hello all !

    Je suis actuellement sur un script et je patauge un peu pour une partie de celui-ci.

    Je cherche à ajouter des valeurs d'une commande dans un tableau de ce type :

    Voici le code permettant cela :

    Code PowerShell : 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
    30
    31
    32
    33
    34
    35
    #Déclaration des variables
     
    $server = "192.168.12.13"
    $sftpsession = New-SFTPsession -ComputerName $server -Credential root
    $source = "/tmp/backups/"
    $date = Get-Date -Uformat "%Y%m%d%H%M"
     
    #Création tableau
     
    $table = New-Object system.Data.DataTable
    $col1 = New-Object system.Data.DataColumn zip,([object])
    $col2 = New-Object system.Data.DataColumn hash,([object])
    $table.columns.add($col1)
    $table.columns.add($col2)
    $row = $table.NewRow()
     
    # Mettre éléments dans le tableau
     
    foreach ($file in (Get-SFTPChildItem $sftpsession -Path $source | Where-Object {$_.Name -notlike "*."} | Sort-Object)) {
     
        If ($file.Name -like "*.zip"){
     
             $row.zip = $file.Name
     
     
        }
        Elseif ($file.Name -like "*.txt") {
     
            $row.hash = $file.Name
     
        }
     
        $table.Rows.Add($row)
     
    }

    Globalement ça marche plutôt bien, voici le résultat :

    PS C:\Users\Administrator\Desktop> $table
    
    zip       hash     
    ---       ----     
    test2.zip test2.txt
    Sauf qu'il ne met pas de ligne pour le test1.zip et test1.txt voici le message d'erreur :

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Exception calling "Add" with "1" argument(s): "This row already belongs to this table."
    At C:\Users\Administrator\Desktop\script automatisation.ps1:35 char:5
    +     $table.Rows.Add($row)
    +     ~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : ArgumentException

    Je comprends qu'il est pas content car la ligne existe déjà mais j'ai tenté de mettre la ligne $row = $table.NewRow() après la boucle ou pendant. Plus d'erreur mais cela donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    zip       hash     
    ---       ----     
              test1.txt
    test1.zip          
              test2.txt
    test2.zip
    Si vous avez une idée je suis preneur :)

    Merci d'avance !
    Bon week-end.
    Dernière modification par Invité ; 18/05/2019 à 00h15. Motif: Amélioration de la mise en forme

Discussions similaires

  1. Ajout et affichage de valeurs dans un tableau
    Par shahir dans le forum Langage
    Réponses: 5
    Dernier message: 27/03/2013, 23h13
  2. Ajouter une valeur dans un tableau au clic
    Par schtroll dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/12/2012, 13h35
  3. Ajouter des valeurs dans un tableau
    Par Mrlaurent90 dans le forum BIRT
    Réponses: 4
    Dernier message: 09/03/2011, 10h55
  4. Ajout valeur dans un tableau automatiquement
    Par michparmentier dans le forum Excel
    Réponses: 4
    Dernier message: 04/04/2007, 10h50
  5. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41

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