Les sentències condicionals són una part fonamental de qualsevol llenguatge de programació, incloent PowerShell. Aquestes permeten que el codi prengui decisions basades en certes condicions, executant diferents blocs de codi segons si aquestes condicions es compleixen o no.

Conceptes Clau

  1. If-Else: La sentència if s'utilitza per executar un bloc de codi si una condició és certa. La sentència else s'utilitza per executar un bloc de codi alternatiu si la condició no és certa.
  2. ElseIf: La sentència elseif permet afegir condicions addicionals que es comproven si les condicions anteriors no es compleixen.
  3. Switch: La sentència switch s'utilitza per seleccionar un bloc de codi a executar d'entre múltiples opcions basades en el valor d'una expressió.

If-Else

Sintaxi

if (<condició>) {
    # Bloc de codi si la condició és certa
} else {
    # Bloc de codi si la condició no és certa
}

Exemple

$edat = 18

if ($edat -ge 18) {
    Write-Output "Ets major d'edat."
} else {
    Write-Output "Ets menor d'edat."
}

Explicació

  • $edat = 18: Assigna el valor 18 a la variable $edat.
  • if ($edat -ge 18): Comprova si $edat és major o igual a 18.
  • Write-Output "Ets major d'edat.": S'executa si la condició és certa.
  • else: S'executa si la condició no és certa.
  • Write-Output "Ets menor d'edat.": S'executa si la condició no és certa.

ElseIf

Sintaxi

if (<condició1>) {
    # Bloc de codi si la condició1 és certa
} elseif (<condició2>) {
    # Bloc de codi si la condició2 és certa
} else {
    # Bloc de codi si cap de les condicions anteriors és certa
}

Exemple

$nota = 85

if ($nota -ge 90) {
    Write-Output "Excel·lent"
} elseif ($nota -ge 75) {
    Write-Output "Bé"
} else {
    Write-Output "Necessita millorar"
}

Explicació

  • $nota = 85: Assigna el valor 85 a la variable $nota.
  • if ($nota -ge 90): Comprova si $nota és major o igual a 90.
  • elseif ($nota -ge 75): Comprova si $nota és major o igual a 75.
  • else: S'executa si cap de les condicions anteriors és certa.

Switch

Sintaxi

switch (<expressió>) {
    <valor1> { # Bloc de codi si l'expressió és igual a valor1 }
    <valor2> { # Bloc de codi si l'expressió és igual a valor2 }
    default { # Bloc de codi si cap valor coincideix }
}

Exemple

$dia = "Dilluns"

switch ($dia) {
    "Dilluns" { Write-Output "Avui és Dilluns." }
    "Dimarts" { Write-Output "Avui és Dimarts." }
    "Dimecres" { Write-Output "Avui és Dimecres." }
    default { Write-Output "No és un dia laborable." }
}

Explicació

  • $dia = "Dilluns": Assigna el valor "Dilluns" a la variable $dia.
  • switch ($dia): Comprova el valor de $dia.
  • "Dilluns" { Write-Output "Avui és Dilluns." }: S'executa si $dia és "Dilluns".
  • default { Write-Output "No és un dia laborable." }: S'executa si cap valor coincideix.

Exercicis Pràctics

Exercici 1

Escriu un script que comprovi si un nombre és positiu, negatiu o zero.

Solució

$nombre = -5

if ($nombre -gt 0) {
    Write-Output "El nombre és positiu."
} elseif ($nombre -lt 0) {
    Write-Output "El nombre és negatiu."
} else {
    Write-Output "El nombre és zero."
}

Exercici 2

Escriu un script que determini la categoria d'edat d'una persona (infant, adolescent, adult, ancià) basant-se en la seva edat.

Solució

$edat = 25

if ($edat -lt 13) {
    Write-Output "Infant"
} elseif ($edat -lt 18) {
    Write-Output "Adolescent"
} elseif ($edat -lt 65) {
    Write-Output "Adult"
} else {
    Write-Output "Ancià"
}

Resum

En aquesta secció, hem après com utilitzar les sentències condicionals if, elseif, else i switch en PowerShell per prendre decisions basades en condicions. Aquestes eines són essencials per escriure scripts dinàmics i flexibles que poden respondre a diferents situacions. Hem vist exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos. En el següent tema, explorarem els bucles en PowerShell per repetir blocs de codi de manera eficient.

Curs de PowerShell

Mòdul 1: Introducció a PowerShell

Mòdul 2: Scripting Bàsic

Mòdul 3: Treballant amb Objectes

Mòdul 4: Tècniques Avançades de Scripting

Mòdul 5: Automatització i Programació de Tasques

Mòdul 6: Remotització amb PowerShell

Mòdul 7: Funcions Avançades de PowerShell

Mòdul 8: PowerShell i DevOps

Mòdul 9: Millors Pràctiques i Consells Avançats

© Copyright 2024. Tots els drets reservats