Powershell接受来自用户输入的switch语句的多个参数

Powershell接受来自用户输入的switch语句的多个参数,powershell,switch-statement,user-input,Powershell,Switch Statement,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 "Drin

例如,我试图找到一种方法来接受用户调用多个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"}
}
输出:
汉堡
炸薯条


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

一个简单的解决方案是要求用户指定以逗号分隔的顺序:

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

Switch ($order.Split(',')){
 1{echo "Burger"}
 2{echo "Fries"}
 3{echo "Drink"}
}
因此,对于这个输入:

下订单(使用逗号分隔项目):1,3

我得到这个输出:

Burger
Drink

这仍然有效,因为它们只指定一个项目,或者根本不指定任何项目-您可能需要一个默认选项来无输入。

Perfect!这正是我想要的谢谢!