我想創建一些函數名稱的數組,然後根據傳遞給我的腳本的參數調用這些數組。這可能嗎?在下面的粗略示例中,如果我將2
作爲參數傳遞給腳本,我希望$twoFuncs
函數列表按照的順序被稱爲。在數組中調用一組函數
param ($whichFuncs)
Function a{ Write-Host "Executing function a" }
Function b{ Write-Host "Executing function b" }
Function c {Write-Host "Executing function c" }
$twoFuncs = @("a","b")
$threeFuncs = @("c","b","a")
if($whichFuncs -eq 2)
{
# execute functions a + b
}
我總是建議避免Invoke-Expression。調用操作符在這裏完美工作,如果函數帶參數,Invoke-Expression將變得雜亂無章。 –
我知道,這就是爲什麼我發佈我的答案後,迅速添加了呼叫運營商。 :)現在通過刪除'iex'使其更加清晰,儘管我通常喜歡展示多種方法。 –
@FrodeF。 +1多種方法:) –