3

我正在编写一个 PowerShell 脚本,它为用户提供了许多可供选择的选项。一旦选择了一个选项,就会执行一个功能并且用户返回到原始菜单。

在下面的代码中,为用户提供了选项,并执行了函数,但完成后,脚本就结束了。我想要的是在函数的末尾返回原始用户菜单。有人可以告诉我该怎么做吗?谢谢!

function firstFunction {
    Write-Host "You chose option 1"
    return
}

Write-Host "Welcome"

[int]$userMenuChoice = 0
while ( $userMenuChoice -lt 1 -or $userMenuChoice -gt 4){
    Write-Host "1. Menu Option 1"
    Write-Host "2. Menu Option 2"
    Write-Host "3. Menu Option 3"
    Write-Host "4. Quit and Exit"

[int]$userMenuChoice = Read-Host "Please choose an option"}
switch ($userMenuChoice) {
    1{firstFunction}
    2{Write-Host "You chose option 2"}
    3{Write-Host "You chose option 3"}
default {Write-Host "Nothing selected"}
}
4

1 回答 1

3

将菜单代码放入一个不会终止的外部循环,除非$userMenuChoice是 4:

do {
  [int]$userMenuChoice = 0
  while ( $userMenuChoice -lt 1 -or $userMenuChoice -gt 4) {
    Write-Host "1. Menu Option 1"
    Write-Host "2. Menu Option 2"
    Write-Host "3. Menu Option 3"
    Write-Host "4. Quit and Exit"

    [int]$userMenuChoice = Read-Host "Please choose an option"

    switch ($userMenuChoice) {
      1{firstFunction}
      2{Write-Host "You chose option 2"}
      3{Write-Host "You chose option 3"}
      default {Write-Host "Nothing selected"}
    }
  }
} while ( $userMenuChoice -ne 4 )
于 2013-05-18T14:36:18.263 回答