Powershell 从用户输入中接受 switch 语句的多个参数

Powershell accepting multiple parameters for switch statement from user input

我正在尝试找到一种方法来接受用户调用多个 switch 语句,例如

$order = Read-Host "Place Order"

Switch ($order){
 1{echo "Burger"}
 2{echo "Fries"}
 3{echo "Drink"}
}

您只能输入 1、2 或 3,但如果您想要多个,可以将其放入数组中

$order = @('1','2')

Switch ($order){
 1{echo "Burger"}
 2{echo "Fries"}
 3{echo "Drink"}
}

output:
Burger
Fries

但是如何获取用户输入并将其格式化为数组值?

一个简单的解决方案是要求用户指定他们的订单,用逗号分隔:

$order = Read-Host "Place Order (use commas to separate items)"

Switch ($order.Split(',')){
 1{echo "Burger"}
 2{echo "Fries"}
 3{echo "Drink"}
}

所以对于这个输入:

Place Order (use commas to separate items): 1,3

我得到这个输出:

Burger
Drink

这仍然有效,因为他们只指定了一个项目,或者根本 none - 你可能需要一个默认选项来不输入。