ARGOMENTO about_If DESCRIZIONE BREVE Descrive un comando del linguaggio che è possibile utilizzare per eseguire elenchi di istruzioni in base ai risultati di uno o più test condizionali. DESCRIZIONE DETTAGLIATA È possibile utilizzare l'istruzione If per eseguire blocchi di codice se il test condizionale specificato restituisce true. È inoltre possibile specificare uno o più test condizionali aggiuntivi da eseguire se tutti i test precedenti hanno restituito false. È infine possibile specificare un blocco di codice aggiuntivo che viene eseguito se nessun altro test condizionale restituisce il valore true. Sintassi Di seguito viene illustrata la sintassi dell'istruzione If: if (<test1>) {<elenco istruzioni 1>} [elseif (<test2>) {<elenco istruzioni 2>}] [else {<elenco istruzioni 3>}] Quando si esegue un'istruzione If, l'espressione condizionale <test1> restituisce true o false. Se <test1> è true, viene eseguito <elenco istruzioni 1> e l'istruzione If viene chiusa. Se <test1> è false, viene valutata la condizione specificata dall'istruzione condizionale <test2>. Se <test2> è true, viene eseguito <elenco istruzioni 2> e l'istruzione If viene chiusa. Se <test1> e <test2> restituiscono entrambi false, viene eseguito il blocco di codice <elenco istruzioni 3> e L'istruzione IF viene chiusa. È possibile utilizzare più istruzioni Elseif per concatenare una serie di test condizionali affinché ciascun test venga eseguito solo se tutti i test precedenti hanno restituito false. Se è necessario creare un'istruzione If contenente molte istruzioni Elseif, si consideri l'utilizzo di un'istruzione Switch. Esempi L'istruzione If più semplice contiene un solo comando e nessuna istruzione Elseif o Else. Di seguito viene illustrata la forma più semplice di istruzione If: if ($a -gt 2) { Write-Host "Il valore $a è maggiore di 2." } In questo esempio, se il valore della variabile $a è maggiore di 2, la condizione restituisce true e l'elenco di istruzioni viene eseguito. Se invece il valore della variabile $a è minore o uguale a 2 oppure non corrisponde a una variabile esistente, non viene visualizzato nessun messaggio. Per visualizzare un messaggio quando il valore della variabile $a è minore o uguale a 2, è possibile aggiungere un'istruzione Else, come illustrato nell'esempio seguente: if ($a -gt 2) { Write-Host "Il valore $a è maggiore di 2." } else { Write-Host "Il valore $a è minore di o uguale a 2, non è stato creato o non è stato inizializzato." } Per migliorare ulteriormente questo esempio, è possibile utilizzare l'istruzione Elseif per visualizzare un messaggio quando il valore della variabile $a è uguale a 2, come illustrato nell'esempio seguente: if ($a -gt 2) { Write-Host "Il valore $a è maggiore di 2." } elseif ($a -eq 2) { Write-Host "Il valore $a è uguale a 2." } else { Write-Host "Il valore $a è minore di 2, non è stato creato o non è stato inizializzato." } VEDERE ANCHE about_Comparison_Operators about_Switch