À propos de If
DESCRIPTION COURTE
Décrit une commande de langage que vous pouvez utiliser pour exécuter des listes d’instructions basées sur les résultats d’un ou plusieurs tests conditionnels.
DESCRIPTION DÉTAILLÉE
Vous pouvez utiliser l’instruction If pour exécuter des blocs de code si un test conditionnel spécifié prend la valeur true. Vous pouvez également spécifier un ou plusieurs tests conditionnels supplémentaires à exécuter si tous les tests précédents ont la valeur false. Enfin, vous pouvez spécifier un bloc de code supplémentaire qui est exécuté si aucun autre test conditionnel antérieur n’a la valeur true.
Syntax
L’exemple suivant montre la syntaxe de l’instruction If :
if (<test1>)
{<statement list 1>}
[elseif (<test2>)
{<statement list 2>}]
[else
{<statement list 3>}]
Lorsque vous exécutez une instruction If, PowerShell évalue l’expression <test1>
conditionnelle comme true ou false. Si <test1>
a la valeur true, <statement list 1>
s’exécute et PowerShell quitte l’instruction If. Si <test1>
est false, PowerShell évalue la condition spécifiée par l’instruction <test2>
conditionnelle.
Si <test2>
a la valeur true, <statement list 2>
s’exécute et PowerShell quitte l’instruction If. Si et ont la valeur <test1>
<test2>
false, le bloc de <statement list 3
> code s’exécute et PowerShell quitte l’instruction If.
Vous pouvez utiliser plusieurs instructions Elseif pour chaîner une série de tests conditionnels. Par conséquent, chaque test est exécuté uniquement si tous les tests précédents sont faux. Si vous devez créer une instruction If qui contient de nombreuses instructions Elseif, envisagez plutôt d’utiliser une instruction Switch.
Exemples :
L’instruction If la plus simple contient une seule commande et ne contient pas d’instructions Elseif ni d’instructions Else. L’exemple suivant montre la forme la plus simple de l’instruction If :
if ($a -gt 2) {
Write-Host "The value $a is greater than 2."
}
Dans cet exemple, si la variable $a est supérieure à 2, la condition prend la valeur true et la liste d’instructions s’exécute. Toutefois, si $a est inférieur ou égal à 2 ou n’est pas une variable existante, l’instruction If n’affiche pas de message.
En ajoutant une instruction Else, un message s’affiche lorsque $a est inférieur ou égal à 2. Comme le montre l’exemple suivant :
if ($a -gt 2) {
Write-Host "The value $a is greater than 2."
}
else {
Write-Host ("The value $a is less than or equal to 2," +
" is not created or is not initialized.")
}
Pour affiner davantage cet exemple, vous pouvez utiliser l’instruction Elseif pour afficher un message lorsque la valeur de $a est égale à 2. Comme le montre l’exemple suivant :
if ($a -gt 2) {
Write-Host "The value $a is greater than 2."
}
elseif ($a -eq 2) {
Write-Host "The value $a is equal to 2."
}
else {
Write-Host ("The value $a is less than 2 or" +
" was not created or initialized.")
}