Powershell -> Objekt im Loop ins Array schreiben?

Zaiga

Lieutenant
Registriert
März 2011
Beiträge
907
Hallo zusammen,

ich habe ein Objekt welches mit Daten gefühlt wird (im Loop) und soll dann entsprechend in ein Array geschrieben werden. Die Schleife funktioniert, wenn ich einfach das Objekt ausgebe habe ich z.b. 4 verschiedene Werte. Nur am Ende (nach der Übergabe des Objektes ans Array) habe ich immer ein Array vollständig gefühlt, mit dem letzten Wert der Schleife, wenn ich es nach der Schleife ausgebe.
PowerShell:
$fileinfo = @{MRN = "Empty"; Placeholder1 = "Empty"; Placeholder2 = "Empty"}        #Informationen zu den Files
$fileinfoobject = New-Object PSObject –Property $fileinfo
$fileinfoobjectarray=@()

[......]

foreach($pdf in $pdfs)
{
  [......]
    if($pageTextfull -match 'MRN\s+([\w]{18})')                                   
    {
    $fileinfoobject.MRN=$matches[1]
    $fileinfoobjectarray += $fileinfoobject           #Schleife funktioniert und wiederholt 4 mal nur ist im fileinfoobjectarray am Ende immer nur der letzte Wert                                 
    }
  [......]

}

$fileinfoobjectarray
Ergänzung ()

Initialisierung des Objektes muss innerhalb der Schleife geschehen, kann zu.
 
Zuletzt bearbeitet:
Nimm Listen zum füttern per Schleife.

Arrays sind immutable und müssen für jede “Verlängerung” kopiert werden.

$List.Add($object) trägt dann das Element in die Liste ein.
 
  • Gefällt mir
Reaktionen: pizza4ever
Zurück
Oben