Powershell Wieso ist meine Variable voller als gedacht?

Hi zusammen.

Ich befülle über Pipeline ein Array.

In dieser Pipeline befülle ich eine WinForms Listbox.

Nur seltsamer weise wenn ich dies tue wird mein Array um das doppelte größer.

Kann mir dies vielleicht jemand erklären?

Zum Code:

$file_list = @( Get-ChildItem -Path $source -Filter $filter -Recurse -File |
    where-object {$_.LastAccessTime -le (get-date).AddMinutes($DelTime)} |
        ForEach-Object -Begin {$i = 0} -process {
            $i++
            $TextBox_Output.AppendText([System.Environment]::NewLine + $_.FullName)     #TODO Nur für TEST
            write-host "Datei-Nr.: $i -- heißt:" $_.Name                                #TODO Nur für TEST
            $ListBox.Items.Add("Maschinen-Nr.:   $(Split-Path $_.Directory -Leaf)  //  Programm-Name:   $($_.Name)")
            write-host "$_.Fullname"
            $_.FullName   
            }
)

Wenn ich so

$file_list.count

ausgebe dann sind da 6 Items drinnen.

Wenn ich aber die die Zeile

$ListBox.Items.Add("Maschinen-Nr.:   $(Split-Path $_.Directory -Leaf)  //  Programm-Name:   $($_.Name)")

auskommentiere, dann sind wie gewünscht nur noch 3 Items im Array.

Kann mir vielleicht jemand erklären wieso mir diese Zeile ins Array schreibt, obwohl sie (meiner Meinung nach) nur in eine Listbox erstellen soll.

Bzw. hat jemand einen Verbesserungsvorschlag?

Wie immer Vielen Dank im Vorraus für die Mithilfe.

Computer, Windows, IT, programmieren, Code, Informatik, PowerShell

Meistgelesene Beiträge zum Thema Computer