如何测试$ dbUserName中的字符数是否超过8个字符?
我无法找到允许我这样做的命令或一系列命令。我只能找到变量是否为null:
if ($dbUserName) {
Write-Output " You left Username blank"
$dbUserName = read-host
}
但我想接下来的测试如下:
if ($dbUserName [String] > 8 ) }
Write-Output " Please enter more than 8 characters "
$dbUserName=read-host " Re-enter database user name"
}
答案 0 :(得分:61)
使用length
类型的[String]
属性:
if ($dbUserName.length -gt 8) {
Write-Output "Please enter more than 8 characters."
$dbUserName = Read-Host "Re-enter database username"
}
请注意,您必须在-gt
条件下使用>
代替if
。 PowerShell使用以下比较运算符来比较值和测试条件:
答案 1 :(得分:1)
您还可以对正则表达式使用-match。例如:
if ($dbUserName -match ".{8}" )
{
Write-Output " Please enter more than 8 characters "
$dbUserName=read-host " Re-enter database user name"
}
另外,如果你像我一样喜欢你的花括号,使你的代码块处于相同的水平位置,你可以将它放在一个新的行上,因为它期待一个代码块,它会看下一行。在一些第一个大括号必须与你的命令一致的命令中,你可以使用一个重要的重音标记(`)来告诉powershell将下一行视为一个延续。