私は、複数のプログレスバーを表示する方法を探しています.1つは外側ループ用、もう1つはインナー用です。私はカスタムオブジェクトの大きなリストをループするスクリプトを持っています。これらのオブジェクトのそれぞれに対して、それらのオブジェクトの属性であるリストに対してアクションを実行する内部ループがあります。複数のPowershellプログレスバー(入れ子?)
スクリプトの例:
$ListOfIDs.Keys |
Show-Progress | #Outer Loop - ProgressBar1
% {
$entityName = $_
$TableIndex = $ListOfEntities.Name.IndexOf($entityName)
$TableNameList = $ListOfEntities[$TableIndex].Group.RoleTable
$ListOfIDS[$_] |
Show-Progress | #Inner Loop - ProgressBar2
% {
$ID = $_.ID
[PSCustomObject] @{
EntityName = $entityName
Id = $ID
Roles = $TableNameList | Function-FooBar -ID $ID
}
}
}
ショー-進捗機能:ここで
function Show-Progress
{
[CmdletBinding()]
param (
[Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
[PSObject[]]$InputObject
)
[int]$TotItems = $Input.Count
[int]$Count = 0
$Input|foreach {
$_
$Count++
[int]$PercentComplete = ($Count/$TotItems* 100)
Write-Progress -Activity "Processing items" -PercentComplete $PercentComplete -Status ("Working - " + $PercentComplete + "%")
}
}
は私が探していますの簡単な例です:あなたは、パラメータを使用することができます
これは私が完全に望んでいたものを達成し、私は親の財産に気づかなかったと信じていません。助けてくれてありがとう! –
あなたは大歓迎です:) –