05/09/2008
Il blocco if
Il blocco if di Windows PowerShell consente di eseguire un determinato set di comandi nel caso in cui una determinata condizione sia soddisfatta; è il più semplice dei blocchi condizionali ed è presente nella quasi totalità dei linguaggi di sviluppo.
La sintassi di questo elemento prevede la definizione obbligatoria della condizione da verificare e dell'insieme di comandi da eseguire nel caso in cui questa sia soddisfatta (il suo valore, perciò, deve corrispondere a $true).
Vediamo dunque un semplice script di esempio, che visualizza una scritta se il giorno corrente è lunedì:
if ([DateTime]::Now.DayOfWeek -eq 'Monday')
{
"Oggi è lunedì."
}
Come mostra lo schema seguente, inoltre, il blocco if supporta altri elementi, opzionali, che lo rendono più completo ed utile.
L'elemento else introduce un blocco di comandi eseguito nel caso in cui la condizione principale non sia soddisfatta.
Vediamo un ipotetico proseguimento dell'esempio precedente:
if ([DateTime]::Now.DayOfWeek -eq 'Monday')
{
"Oggi è lunedì."
}
else
{
"Domani non è martedì."
}
Il comando if, inoltre, supporta la presenza di più blocchi elseif, eseguiti qualora la condizione principale non sia soddisfatta ma lo sia, invece, una condizione secondaria specificata nell'elemento stesso.
L'esempio precedente potrebbe, dunque, essere completato come segue:
if ([DateTime]::Now.DayOfWeek -eq 'Monday')
{
"Oggi è lunedì."
}
elseif ([DateTime]::Now.DayOfWeek -eq 'Saturday')
{
"Buon weekend!"
}
elseif ([DateTime]::Now.DayOfWeek -eq 'Sunday')
{
"Ancora un po' di pacchia, domani si ricomincia!"
}
else
{
"Domani non sarà martedì."
}