PowerShell Switch Statement - Different take on branching

One switch statement can replace multiple if/else statements, it makes code more readable and is really easy to use - there’s no reason why you shouldn’t give it a try! # Link to the video: https://youtu.be/EqJ0lBO1rM4 # Documentation: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_switch?view=powershell-7.1 # Basic version <# switch ( test-value ) { condition {do-stuff} another condition {do-stuff} } #> # This will print out Green switch (2) { 0 { "Blue" } 1 { "Yellow"} 2 { "Green"} 3 { "Red"} } # Work with variable $number = 1 switch ($number) { 0 { "Blue" } 1 { "Yellow"} 2 { "Green"} 3 { "Red"} } # Assign variables within scriptblock $number = 3 switch ($number) { 0 { $result = "Blue" } 1 { $result = "Yellow"} 2 { $result = "Green"} 3 { $result = "Red"} } Write-Host "The result is: $result" -ForegroundColor $result # We can also assign statement to variable $number = 0 $result = switch ($number) { 0 { "Blue" } 1 { "Yellow"} 2 { "Green"} 3 { "Red"} } Write-Host "The result is: $result" -ForegroundColor $result # Use default in case there's no match $number = 8 $result = switch ($number) { 0 { "Blue" } 1 { "Yellow"} 2 { "Green"} 3 { "Red"} default { Write-Warning "Unknown value, defaulting to White" "White" } } Write-Host "The result is: $result" -ForegroundColor $result # Strings can also be matched # This also shows working on expression switch ( (Get-Host)....

4 August 2021 · 3 min · 457 words · Kamil