Informazioni su If
DESCRIZIONE BREVE
Descrive un comando del linguaggio che è possibile usare per eseguire elenchi di istruzioni in base ai risultati di uno o più test condizionali.
DESCRIZIONE LUNGA
È possibile usare l'istruzione If per eseguire blocchi di codice se un test condizionale specificato restituisce true. È anche possibile specificare uno o più test condizionali aggiuntivi da eseguire se tutti i test precedenti valutano false. Infine, è possibile specificare un blocco di codice aggiuntivo che viene eseguito se nessun altro test condizionale precedente restituisce true.
Sintassi
Nell'esempio seguente viene illustrata la sintassi dell'istruzione If:
if (<test1>)
{<statement list 1>}
[elseif (<test2>)
{<statement list 2>}]
[else
{<statement list 3>}]
Quando si esegue un'istruzione If, PowerShell valuta l'espressione <test1>
condizionale come true o false. Se <test1>
è true, <statement list 1>
viene eseguito e PowerShell chiude l'istruzione If. Se <test1>
è false, PowerShell valuta la condizione specificata dall'istruzione <test2>
condizionale.
Se <test2>
è true, <statement list 2>
viene eseguito e PowerShell chiude l'istruzione If. Se entrambi <test1>
e <test2>
valutano false, il blocco di <statement list 3
> codice viene eseguito e PowerShell chiude l'istruzione If.
È possibile usare più istruzioni Elseif per concatenare una serie di test condizionali. Quindi, ogni test viene eseguito solo se tutti i test precedenti sono false. Se è necessario creare un'istruzione If contenente molte istruzioni Elseif, prendere in considerazione l'uso di un'istruzione Switch.
Esempi:
L'istruzione If più semplice contiene un singolo comando e non contiene istruzioni Elseif o qualsiasi istruzione Elseif. Nell'esempio seguente viene illustrata la forma più semplice dell'istruzione If:
if ($a -gt 2) {
Write-Host "The value $a is greater than 2."
}
In questo esempio, se la variabile $a è maggiore di 2, la condizione restituisce true e l'elenco di istruzioni viene eseguito. Tuttavia, se $a è minore o uguale a 2 o non è una variabile esistente, l'istruzione If non visualizza un messaggio.
Aggiungendo un'istruzione Else, viene visualizzato un messaggio quando $a è minore o uguale a 2. Come illustrato nell'esempio successivo:
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.")
}
Per perfezionare ulteriormente questo esempio, è possibile usare l'istruzione Elseif per visualizzare un messaggio quando il valore di $a è uguale a 2. Come illustrato nell'esempio successivo:
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.")
}