尝试将for循环的索引值附加到字符串的末尾,但是我在获取所需结果时遇到了一些麻烦。
这是我与之合作的简短代码块:
编辑:
$apiKey = "ZZZ-ZZZZZ"
$octoHeader = @{ "X-Octopus-ApiKey" = $apiKey }
# GET Source deployment process from Deployment Scaffold project
$json = irm "http://octopusserver/api/deploymentprocesses/deploymentprocess-projects-123" -Headers $octoHeader
$DeploymentSteps = $json.Steps
# Hash table to hold steps
$steps = @{}
function Get-StepType
(
$StepType
)
{
foreach ( $Step in $DeploymentSteps | where { $_.Name -eq $StepType } )
{
return $Step
}
}
function Copy-Steps
(
$StepType,
$StepCount
)
{
$Step = Get-StepType -StepType $StepType
1..$StepCount | % {
$Step.Id = ''
$Step.Name += $_
# Add step to hash
$steps.Add("step$($steps.Count + 1)", $step)
}
}
Copy-Steps -StepType 'Service' -StepCount 2
$steps
这就是结果:
Name Value
---- -----
step1 @{Id=; Name=Service12; Actions=S...
step2 @{Id=; Name=Service12; Actions=S...
我之后的结果是:姓名=服务 - 1,姓名=服务 - 2等我知道发生了什么,但我不确定正确的方法来获得什么我之后。
非常感谢任何帮助。
答案 0 :(得分:1)
1..5 | % { [String]::Format("Step {0}", $_) }
或左右
答案 1 :(得分:1)
在您的函数Copy-Steps
中,您需要实际复制步骤:
function Copy-Steps
(
$StepType,
$StepCount
)
{
$OriginalStep = Get-StepType -StepType $StepType
1..$StepCount | % {
$Step=$OriginalStep.PSObject.Copy()
$Step.Id = ''
$Step.Name += $_
# Add step to hash
$steps.Add("step$($steps.Count + 1)", $step)
}
}