我有一个大型Powershell脚本,用于检查VM上的多个变量。该脚本包含大约80个不同的函数,分别命名为question1,question2,question3 ...
起初,这些功能都不需要参数,因此此代码有效。
$number_of_questions = 1..75
foreach($num in $number_of_questions){
Invoke-Expression question$num
}
遍历每个问题
但是现在我需要在运行函数时添加参数。那是行不通的。而且我找不到一种使它与参数一起使用的方法
这里是我想做的事的测试版本。
function test1($text){
Write-host "Not argument"
Write-host $text
}
function test2($text){
Write-host "Not argument"
Write-host $text
}
function test3($text){
Write-host "Not argument"
Write-host $text
}
function test4($text){
Write-host "Not argument"
Write-host $text
}
function test5($text){
Write-host "Not argument"
Write-host $text
}
$num = 1..5
foreach($number in $num){
Invoke-Expression test$number -text "Argument"
}
任何人都有使用带有参数的顺序名称运行多个功能的解决方案。
答案 0 :(得分:2)
只需替换:
Invoke-Expression test$number -text "Argument"
具有:
Invoke-Expression "test$number -text `"Argument`""
使其正常工作。