Bird
Raised Fist0
PowerShellscripting~15 mins

Break and continue in PowerShell - Mini Project: Build & Apply

Choose your learning style10 modes available
Using Break and Continue in PowerShell Loops
📖 Scenario: You are managing a list of daily tasks. You want to process these tasks one by one but stop processing when you find a specific task. Also, you want to skip certain tasks that are not important.
🎯 Goal: Build a PowerShell script that loops through a list of tasks, skips unimportant tasks, and stops processing when a specific task is found.
📋 What You'll Learn
Create a list of tasks with exact names
Create a variable to hold the task to stop at
Use a foreach loop to go through the tasks
Use continue to skip unimportant tasks
Use break to stop when the stop task is found
Print the tasks that are processed
💡 Why This Matters
🌍 Real World
Automating task processing where some tasks need to be skipped and processing stops at a certain point.
💼 Career
Understanding break and continue is essential for controlling loops in scripts used for automation, data processing, and system administration.
Progress0 / 4 steps
1
Create the list of tasks
Create a list called $tasks with these exact tasks: 'Email', 'Meeting', 'Coffee', 'Report', 'Lunch'.
PowerShell
Hint

Use @() to create an array in PowerShell.

2
Set the stop task
Create a variable called $stopTask and set it to the string 'Report'.
PowerShell
Hint

Use = to assign the string 'Report' to $stopTask.

3
Loop with break and continue
Write a foreach loop using $task to go through $tasks. Inside the loop, use continue to skip the task 'Coffee'. Use break to stop the loop when $task equals $stopTask. For other tasks, print $task.
PowerShell
Hint

Use foreach ($task in $tasks) to loop. Use if statements to check tasks. Use Write-Output to print.

4
Print the processed tasks
Run the script to print the tasks processed before stopping. The output should show Email and Meeting only.
PowerShell
Hint

Run the script and check the output shows only Email and Meeting.

Practice

(1/5)
1. What does the break statement do inside a PowerShell loop?
easy
A. Stops the loop immediately and exits it
B. Skips the current iteration and continues with the next
C. Restarts the loop from the beginning
D. Pauses the loop until a condition is met

Solution

  1. Step 1: Understand the purpose of break

    The break statement is used to exit a loop immediately, no matter where it is in the loop.
  2. Step 2: Compare with other options

    continue skips to the next iteration, but break stops the loop entirely.
  3. Final Answer:

    Stops the loop immediately and exits it -> Option A
  4. Quick Check:

    break stops loop [OK]
Hint: Remember: break = stop loop, continue = skip iteration [OK]
Common Mistakes:
  • Confusing break with continue
  • Thinking break skips iteration instead of stopping
  • Assuming break restarts the loop
2. Which of the following is the correct syntax to skip the current iteration in a PowerShell foreach loop?
easy
A. skip
B. continue
C. break
D. next

Solution

  1. Step 1: Identify the keyword to skip iteration

    In PowerShell, continue is the keyword used to skip the current iteration and move to the next one.
  2. Step 2: Verify other options

    break stops the loop, skip and next are not valid PowerShell keywords for this purpose.
  3. Final Answer:

    continue -> Option B
  4. Quick Check:

    continue skips iteration [OK]
Hint: Use continue to skip iteration, break to stop loop [OK]
Common Mistakes:
  • Using break instead of continue
  • Using non-existent keywords like skip or next
  • Confusing syntax with other languages
3. What will be the output of this PowerShell script?
foreach ($i in 1..5) {
  if ($i -eq 3) { continue }
  if ($i -eq 5) { break }
  Write-Output $i
}
medium
A. 1 2 4
B. 1 2 3 4
C. 1 2 4 5
D. 1 2

Solution

  1. Step 1: Analyze loop iterations and conditions

    Loop runs from 1 to 5. When $i is 3, continue skips output. When $i is 5, break stops loop before output.
  2. Step 2: Determine output values

    Outputs are for $i = 1, 2, and 4 only. 3 is skipped, 5 stops loop before output.
  3. Final Answer:

    1 2 4 -> Option A
  4. Quick Check:

    continue skips 3, break stops before 5 [OK]
Hint: Trace loop step-by-step, watch continue and break effects [OK]
Common Mistakes:
  • Including 3 in output despite continue
  • Including 5 in output despite break
  • Confusing continue and break effects
4. Identify the error in this PowerShell script snippet:
foreach ($num in 1..4) {
  if ($num -eq 2) {
    continue
  }
  elseif ($num -eq 3) {
    break
  }
  Write-Output $num
}
medium
A. The Write-Output is unreachable for $num = 3
B. The break statement should be outside the loop
C. No error; script runs as expected
D. The continue statement is used incorrectly

Solution

  1. Step 1: Review the use of continue and break

    continue correctly skips output when $num is 2. break stops loop when $num is 3.
  2. Step 2: Check output and flow

    Output will be 1 only. No syntax or logic errors present.
  3. Final Answer:

    No error; script runs as expected -> Option C
  4. Quick Check:

    continue and break used correctly [OK]
Hint: Check if continue/break are inside loop and reachable [OK]
Common Mistakes:
  • Thinking break must be outside loop
  • Assuming continue causes error
  • Confusing unreachable code with error
5. You want to process numbers 1 to 10 but skip all even numbers and stop processing once you reach a number greater than 7. Which script correctly uses break and continue to achieve this?
hard
A.
foreach ($n in 1..10) {
  if ($n % 2 -eq 0) { break }
  if ($n -gt 7) { continue }
  Write-Output $n
}
B.
foreach ($n in 1..10) {
  if ($n % 2 -eq 0) { continue }
  Write-Output $n
  if ($n -gt 7) { break }
}
C.
foreach ($n in 1..10) {
  if ($n -gt 7) { continue }
  if ($n % 2 -eq 0) { break }
  Write-Output $n
}
D.
foreach ($n in 1..10) {
  if ($n -gt 7) { break }
  if ($n % 2 -eq 0) { continue }
  Write-Output $n
}

Solution

  1. Step 1: Understand conditions order

    We must stop loop when number > 7, so break must check that first to stop immediately.
  2. Step 2: Skip even numbers using continue

    After checking break, skip even numbers with continue to avoid output.
  3. Step 3: Verify output

    Outputs odd numbers from 1 to 7 only, then stops.
  4. Final Answer:

    Option D script -> Option D
  5. Quick Check:

    break before continue for correct flow [OK]
Hint: Check break condition before continue to stop early [OK]
Common Mistakes:
  • Placing continue before break causing wrong stop
  • Using break to skip even numbers instead of continue
  • Not stopping loop when number > 7
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard