如何在PowerShell中测试变量是否超过八个字符?

use*_*918 38 testing variables powershell

如何测试$ dbUserName中的字符数是否超过8个字符?

我无法找到可以让我这样做的命令或一系列命令.我只能找到变量是否为null:

if ($dbUserName) {
    Write-Output " You left Username blank"
    $dbUserName = read-host
}
Run Code Online (Sandbox Code Playgroud)

但我想接下来的测试如下:

if ($dbUserName [String] > 8 ) }
    Write-Output " Please enter more than 8 characters "
    $dbUserName=read-host " Re-enter database user name"
}
Run Code Online (Sandbox Code Playgroud)

Rav*_*yal 78

使用类型的length属性[String]:

if ($dbUserName.length -gt 8) {
    Write-Output "Please enter more than 8 characters."
    $dbUserName = Read-Host "Re-enter database username"
}
Run Code Online (Sandbox Code Playgroud)

请注意,您必须使用-gt而不是>在您的if条件.PowerShell使用以下比较运算符来比较值和测试条件:

  • -eq =等于
  • -ne =不等于
  • -lt =小于
  • -gt =大于
  • -le =小于或等于
  • -ge =大于或等于

  • 该帖子的逻辑仍然存在缺陷。如果用户名的长度超过8个字符,则输出为:输入8个以上的字符?应该是-lt (2认同)