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 - 你可能需要一个默认选项来不输入。
我正在尝试找到一种方法来接受用户调用多个 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 - 你可能需要一个默认选项来不输入。