Condividi tramite


Informazioni su If

DESCRIZIONE BREVE

Descrive un comando del linguaggio che è possibile usare per eseguire elenchi di istruzioni basati sui risultati di uno o più test condizionali.

DESCRIZIONE LUNGA

È possibile usare l'istruzione if per eseguire i 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 restituiscono 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' <test1> espressione condizionale come true o false. Se <test1> è true, <statement list 1> viene eseguito e PowerShell esce dall'istruzione if. Se <test1> è false, PowerShell valuta la condizione specificata dall' <test2> istruzione condizionale.

Se <test2> è true, <statement list 2> viene eseguito e PowerShell esce dall'istruzione if. Se sia <test1> che <test2> restituiscono false, <statement list 3 viene eseguito il blocco di codice> e PowerShell esce dall'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, è consigliabile utilizzare un'istruzione switch.

Esempi:

L'istruzione if più semplice contiene un solo comando e non contiene istruzioni ElseIf o istruzioni Else. 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.

Se si aggiunge un'istruzione else, viene visualizzato un messaggio quando $a è minore o uguale a 2. Come illustrato nell'esempio seguente:

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 affinare ulteriormente questo esempio, è possibile usare l'istruzione ElseIf per visualizzare un messaggio quando il valore di $a è uguale a 2. Come illustrato nell'esempio seguente:

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.")
}

VEDERE ANCHE

about_Comparison_Operators

about_Switch