Bird
Raised Fist0
PowerShellscripting~5 mins

ForEach loop in PowerShell - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a ForEach loop in PowerShell?
A ForEach loop in PowerShell repeats a block of code for each item in a collection, like going through a list one by one.
Click to reveal answer
beginner
How do you write a basic ForEach loop in PowerShell to print each item in a list?
Use:
foreach ($item in $list) { Write-Output $item }
This runs the code inside the braces for every item in $list.
Click to reveal answer
beginner
What does $item represent inside a ForEach loop?
$item is a variable that holds the current element from the list during each loop cycle.
Click to reveal answer
intermediate
Can you use a ForEach loop to process objects, not just simple values?
Yes! ForEach loops can handle any collection, including objects, letting you access properties of each object inside the loop.
Click to reveal answer
beginner
What happens if the collection in a ForEach loop is empty?
The loop body does not run at all because there are no items to process.
Click to reveal answer
What keyword starts a ForEach loop in PowerShell?
Arepeat
Bfor
Cloop
Dforeach
In the loop foreach ($item in $list) { ... }, what is $list?
AThe current item
BThe collection of items to loop through
CA command
DA function
What will this code output?
$numbers = 1,2,3
foreach ($n in $numbers) { Write-Output $n }
A123
BError
C1 2 3 (each on a new line)
DNothing
If the collection is empty, how many times does the ForEach loop run?
AZero times
BOnce
CInfinite times
DDepends on the code
Which of these can you loop over with a ForEach loop in PowerShell?
AAll of the above
BAn array of objects
CA collection of numbers
DA list of strings
Explain how a ForEach loop works in PowerShell and give a simple example.
Think about how you would tell a friend to repeat an action for each item in a list.
You got /4 concepts.
    Describe what happens inside the loop variable during each iteration of a ForEach loop.
    Imagine picking one item at a time from a basket and doing something with it.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the foreach loop do in PowerShell?
      easy
      A. Creates a new collection from scratch
      B. Runs code only once regardless of the collection
      C. Repeats a block of code for each item in a collection
      D. Stops the script immediately

      Solution

      1. Step 1: Understand the foreach loop purpose

        The foreach loop is designed to repeat actions for every item in a list or collection.
      2. Step 2: Compare options to this purpose

        Only Repeats a block of code for each item in a collection correctly describes repeating code for each item in a collection.
      3. Final Answer:

        Repeats a block of code for each item in a collection -> Option C
      4. Quick Check:

        foreach = repeat for each item [OK]
      Hint: Think: foreach means 'for each item' repeat [OK]
      Common Mistakes:
      • Confusing foreach with a one-time action
      • Thinking foreach creates new collections
      • Believing foreach stops the script
      2. Which of the following is the correct syntax for a foreach loop in PowerShell?
      easy
      A. foreach ($item in $list) { Write-Output $item }
      B. foreach $item in $list { Write-Output $item }
      C. foreach ($item : $list) { Write-Output $item }
      D. foreach ($item; $list) { Write-Output $item }

      Solution

      1. Step 1: Recall correct foreach syntax

        PowerShell foreach loops use: foreach ($var in $collection) { ... }
      2. Step 2: Match options to syntax

        Only foreach ($item in $list) { Write-Output $item } uses the correct 'in' keyword and parentheses.
      3. Final Answer:

        foreach ($item in $list) { Write-Output $item } -> Option A
      4. Quick Check:

        Syntax uses 'in' keyword inside parentheses [OK]
      Hint: Look for 'foreach ($var in $collection)' pattern [OK]
      Common Mistakes:
      • Omitting parentheses around variable and collection
      • Using ':' or ';' instead of 'in'
      • Missing the 'in' keyword
      3. What will be the output of this PowerShell script?
      foreach ($num in 1..3) { Write-Output ($num * 2) }
      medium
      A. 2 4 6
      B. 1 2 3
      C. 3 6 9
      D. Error: Invalid syntax

      Solution

      1. Step 1: Understand the loop range

        The loop runs for numbers 1, 2, and 3.
      2. Step 2: Calculate output for each iteration

        Each number is multiplied by 2, so outputs are 2, 4, and 6.
      3. Final Answer:

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

        1*2=2, 2*2=4, 3*2=6 [OK]
      Hint: Multiply each loop number by 2 mentally [OK]
      Common Mistakes:
      • Confusing the range operator '..'
      • Thinking output is original numbers
      • Expecting syntax error
      4. Identify the error in this PowerShell foreach loop:
      foreach $item in $array { Write-Output $item }
      medium
      A. No error, code is correct
      B. Missing parentheses around the loop variable and collection
      C. Using $item instead of $i as loop variable
      D. Incorrect use of Write-Output

      Solution

      1. Step 1: Check foreach syntax

        PowerShell requires parentheses around the variable and collection in foreach loops.
      2. Step 2: Identify missing parentheses

        The code lacks parentheses: it should be foreach ($item in $array) { ... }
      3. Final Answer:

        Missing parentheses around the loop variable and collection -> Option B
      4. Quick Check:

        foreach needs parentheses [OK]
      Hint: Always use parentheses in foreach syntax [OK]
      Common Mistakes:
      • Omitting parentheses
      • Confusing variable names
      • Thinking Write-Output causes error
      5. You have a list of filenames stored in $files. You want to print only those filenames that end with '.txt' using a foreach loop. Which script correctly does this?
      hard
      A. foreach ($file in $files) { if ($file -eq '*.txt') { Write-Output $file } }
      B. foreach ($file in $files) { if ($file contains '.txt') { Write-Output $file } }
      C. foreach ($file in $files) { Write-Output $file -match '.txt' }
      D. foreach ($file in $files) { if ($file -like '*.txt') { Write-Output $file } }

      Solution

      1. Step 1: Understand filtering condition

        To check if a filename ends with '.txt', use the '-like' operator with '*.txt' pattern.
      2. Step 2: Verify foreach loop and condition

        foreach ($file in $files) { if ($file -like '*.txt') { Write-Output $file } } correctly uses foreach with an if condition checking '-like "*.txt"' and outputs matching files.
      3. Final Answer:

        foreach ($file in $files) { if ($file -like '*.txt') { Write-Output $file } } -> Option D
      4. Quick Check:

        Use '-like' with wildcard for pattern match [OK]
      Hint: Use '-like "*.txt"' inside if in foreach [OK]
      Common Mistakes:
      • Using '-eq' instead of '-like' for pattern matching
      • Misusing '-match' without if condition
      • Using 'contains' which is invalid here
      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