Как насчет создания пользовательского объекта. Создание собственного объекта - отличный способ связать кусочки данных вместе. В вашем случае вы хотели бы связать число с именем леса или объекта леса, созданного чем-то другим. Независимо от того, работаете ли вы со списком строк или объектов с именами лесов, вы можете использовать этот подход.
Создайте контейнер (массив) для ваших пользовательских объектов.
$forestContainer = @()
По мере прохождения по лесам создайте для каждого из них пользовательский объект и добавьте его в массив. В этом примере $myForests
является либо набором объектов, либо строковым массивом имен.
$i = 1
foreach ($forest in $myForests) {
# Create a custom object associating all the data you want.
$currentForest = New-Object PsObject -Property @{
Forest = $forest
Count = $i
# Note: You can add as many properties to the object here as you like.
}
$forestContainer += $currentForest
$i += 1
}
Преимущество этого подхода в том, что вы сможете легко использовать массив, заполненный вашими новыми объектами, с другими командлетами Powershell. Например:
$forestContainer | where {$_.Count -lt 2}
Или
$forestContainer | format-table
Или
$forestContainer | Out-GridView
Чтобы получить доступ к свойству Count, которое содержит текущее целое число, когда этот лес был обработан, вы можете использовать следующий синтаксис:
$forestContainer[0].Count
Надеюсь, вы сможете применить это к своему коду. Если вы разместите часть своего кода, я могу помочь вам больше.