【发布时间】:2014-05-09 22:30:18
【问题描述】:
我在一个包含字符串数组的 PowerShell 脚本中有一个变量 $Tasks,我需要将该变量传递给其他 PowerShell 脚本并对其执行操作,例如循环遍历数组并对每个执行操作项目(字符串)。
但是,在我的变量从数组转换为字符串的过程中的某个时刻(通常在它遇到 script2.ps1 时),我无法循环遍历它。我需要做什么才能在整个过程中将变量保持为数组?
这是变量的工作流程:
Script1.ps1:
$Tasks = @(
"Task1 - Name1",
"Task2 - Name2",
"Task3 - Name3"
)
powershell "& {. $pwd\Script2.ps1 -BuildNum $BuildNum; Run-Validation -Tasks $Tasks}"
Script2.ps1:
param(
$Tasks=$()
)
Function Run-Validation
{
param($Tasks)
If ($Tasks)
{
Test-Tasks $Tasks
}
}
Script3.ps1:
Function Test-Tasks ($Tasks)
{
ForEach ($Task in $Tasks)
{
do_stuff
}
}
【问题讨论】:
标签: arrays powershell