別の関数から関数を呼び出すPowershell

別の関数から関数を呼び出すPowershell
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

以下の記事の警告に留意してください (あなたのケースには当てはまらない可能性があります)。
呼び出し式は有害であると考えられる

関連情報