Comment tester si le nombre de caractères dans $ dbUserName est supérieur à huit caractères?
Je suis incapable de localiser une commande ou une série de commandes qui me permettront de le faire. J'ai seulement pu trouver si la variable est nulle:
if ($dbUserName) {
Write-Output " You left Username blank"
$dbUserName = read-Host
}
Mais j'aimerais tester ensuite comme ceci:
if ($dbUserName [String] > 8 ) }
Write-Output " Please enter more than 8 characters "
$dbUserName=read-Host " Re-enter database user name"
}
Utilisez la propriété length
de la [String]
_ type:
if ($dbUserName.length -gt 8) {
Write-Output "Please enter more than 8 characters."
$dbUserName = Read-Host "Re-enter database username"
}
Veuillez noter que vous devez utiliser -gt
au lieu de >
dans votre if
condition. PowerShell utilise les éléments suivants opérateurs de comparaison pour comparer les valeurs et les conditions de test:
Vous pouvez également utiliser -match contre une expression régulière. Ex:
if ($dbUserName -match ".{8}" )
{
Write-Output " Please enter more than 8 characters "
$dbUserName=read-Host " Re-enter database user name"
}
De plus, si vous êtes comme moi et que vos accolades se trouvent dans la même position horizontale que vos blocs de code, vous pouvez le placer sur une nouvelle ligne, car il attend un bloc de code, il sera affiché à la ligne suivante. Dans certaines commandes où la première accolade doit être alignée avec votre commande, vous pouvez utiliser un marqueur d’accent Grave (`) pour indiquer à powershell de traiter la ligne suivante comme une continuation.