为什么它总是返回“无效输入..."?
$var = Read-Host -prompt "Insert a number from 1 to 6"
if (($var -ne 1)-or ($var -ne 2)-or ($var -ne 3)-or ($var -ne 4)-or ($var -ne 5)-or ($var -ne 6)){
Write-Host "Non valid input..."
pause; exit
} else {
Write-Host "OK."
pause; exit
}
2条答案
按热度按时间bf1o4zei1#
因为您使用
-or
运算符来查看单个值。假设您输入5。它不等于1,因此块被触发,Write-Host "Non valid input..."
被写入控制台。如果您要检查某个值是否在某个范围内,请检查范围的上限和下限,如:也可以使用以下命令将
$Var
约束为和[Int]
:这将有助于限制输入整数...
然而,这种类型的事情通常被 Package 在一个循环中,这样,如果输入了不可接受的内容,就会出现重新提示。
iugsix8n2#
试试这个: