PowerShell错误编号识别

narzhan

我有一个简单的程序,可以在其中执行某些操作。但是我在代码的这个特定部分有问题,用户应该输入一个数字,然后再进行处理:

do{
    $user = Read-Host "Input some number from 1 to 3"
       if($user -lt 1 -or $user -gt 3){
        echo "From 1 to 3, $user is too many"}
       else{ 
// do the right thing  }}
until(it's done)

但是,当用户输入其上的数字的开始被1或2任一开始(如数量125625698等),异常不触发。它可以完美地处理其他数字,但这些都是不好的。

詹姆斯·罗斯金

问题是您要捕获$ user作为字符串,然后将其作为字符串比较进行测试(在上面显示的条件下成功)。

如果将变量指定为[int]$user,它将成功检查以1-3开头的数字。

示例代码:

do{
    [int]$user = Read-Host "Input a number from 1 to 3"
    if($user -lt 1 -or $user -gt 3) {
      echo "Please input a number between 1 and 3, $user is too high"
    }
    else { 
      Write-Host "$user is within bounds"  
    }
}
until($condition -eq $true)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章