
function main {
$options = @('option1', 'option2', 'option3')
CLS; $n = 1
$options | foreach { "[{0}] {1}" -f $n, $_; $n++ }
choice /c 123 /m "Choose:"
"opt$lastexitcode"
pause; main
}
function opt1 { "this is option one" }
function opt2 { "this is option two" }
function opt3 { "this is option three" }
main
Если возможно, вызовите другую функцию напрямую, введя имя функции безеслииливыключательзаявление?
решение1
Вы, возможно, могли бы использовать здесь Команда Invoke-Expression.
Статья содержит такой пример:
$Command = "Get-Process"
Invoke-Expression $Command
Помните о предупреждениях в следующей статье (которые могут не относиться к вашему случаю):
Invoke-Expression считается вредоносным.