A for loop helps you repeat a set of actions many times without writing the same code again and again.
For loop in PowerShell
for (<initialization>; <condition>; <increment>) {
<commands>
}Initialization sets the starting point, like a counter.
Condition decides how long the loop runs.
Increment updates the counter each time the loop runs.
for ($i = 1; $i -le 5; $i++) { Write-Output $i }
for ($count = 10; $count -gt 0; $count--) { Write-Output "Countdown: $count" }
This script prints a greeting three times, showing the current number.
for ($i = 1; $i -le 3; $i++) { Write-Output "Hello number $i" }
Remember to use -le for 'less than or equal' and -gt for 'greater than' in conditions.
PowerShell uses $ before variable names.
Use Write-Output to show text on the screen.
A for loop repeats actions a set number of times.
It has three parts: start, condition, and step.
Use it to automate repetitive tasks easily.
Practice
What does a for loop in PowerShell do?
Solution
Step 1: Understand the purpose of a for loop
A for loop is designed to repeat code multiple times based on a condition.Step 2: Compare options with the definition
Only Repeats a block of code a set number of times correctly describes repeating code a set number of times.Final Answer:
Repeats a block of code a set number of times -> Option DQuick Check:
For loop = repeat code [OK]
- Thinking for loop runs only once
- Confusing for loop with function definition
- Believing for loop stops script
Which of the following is the correct syntax for a for loop in PowerShell?
for (init; condition; increment) { code }Solution
Step 1: Identify correct for loop syntax
PowerShell for loops use parentheses with init; condition; increment separated by semicolons.Step 2: Check each option
for ($i=0; $i -lt 5; $i++) { Write-Output $i } matches correct syntax. A uses while keyword. B has invalid 'for $i in' syntax. C uses foreach keyword. [OK]Final Answer:
for ($i=0; $i -lt 5; $i++) { Write-Output $i } -> Option AQuick Check:
Correct for loop syntax = for ($i=0; $i -lt 5; $i++) { Write-Output $i } [OK]
- Using foreach instead of for
- Using spaces instead of semicolons
- Confusing while loop syntax
What will be the output of this PowerShell code?
for ($i=1; $i -le 3; $i++) { Write-Output ($i * 2) }Solution
Step 1: Understand loop iterations
The loop runs with $i values 1, 2, and 3 because condition is $i -le 3.Step 2: Calculate output for each iteration
Output is $i * 2: 1*2=2, 2*2=4, 3*2=6.Final Answer:
2 4 6 -> Option CQuick Check:
Multiply each i by 2 = 2 4 6 [OK]
- Confusing loop range
- Multiplying after loop ends
- Printing loop variable instead of calculation
Identify the error in this PowerShell for loop:
for (; $i < 5; $i++) { Write-Output $i }Solution
Step 1: Check initialization syntax in for loop
The initialization part is empty; $i needs to be initialized (e.g., $i=0).Step 2: Verify other parts
Increment '++' is valid, condition '<' works for numbers, braces are present.Final Answer:
The loop variable $i is not initialized -> Option BQuick Check:
Always initialize $i in for loop [OK]
- Forgetting to initialize loop variable
- Thinking '++' is invalid
- Using C-style operators like '<' in PowerShell
You want to print only even numbers from 2 to 10 using a for loop in PowerShell. Which code snippet achieves this?
Solution
Step 1: Understand the goal
We want to print even numbers from 2 to 10 inclusive.Step 2: Analyze each option
for ($i=1; $i -lt 10; $i++) { if ($i % 2 -eq 0) { Write-Output $i } } goes to i<10 so prints 2,4,6,8 (misses 10). for ($i=2; $i -le 10; $i+=2) { Write-Output $i } starts at 2, increments by 2 up to 10: 2,4,6,8,10. for ($i=2; $i -lt 10; $i++) { Write-Output $i } prints 2-9 all numbers. for ($i=0; $i -le 10; $i+=3) { Write-Output $i } wrong start/step.Final Answer:
for ($i=2; $i -le 10; $i+=2) { Write-Output $i } -> Option AQuick Check:
Increment by 2 from 2 to 10 = even numbers [OK]
- Using wrong increment step
- Starting from 1 instead of 2
- Not filtering for even numbers
Ready to prove it?
Pass the test and this pattern moves unknown
