Bird
Raised Fist0
PowerShellscripting~5 mins

Range operator (..) in PowerShell - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the range operator (..) do in PowerShell?
It creates an array of numbers from a start value to an end value, including both.
Click to reveal answer
beginner
How do you create a sequence of numbers from 1 to 5 using the range operator?
Use 1..5 which produces the array 1, 2, 3, 4, 5.
Click to reveal answer
intermediate
What happens if the start number is greater than the end number in a range expression like 5..1?
PowerShell creates a descending array: 5, 4, 3, 2, 1.
Click to reveal answer
beginner
Can the range operator be used with variables? Give an example.
Yes. For example, $start=3; $end=7; $start..$end creates 3, 4, 5, 6, 7.
Click to reveal answer
beginner
Is the range operator inclusive or exclusive of the end values?
It is inclusive, meaning both the start and end numbers are included in the output array.
Click to reveal answer
What does the PowerShell expression 2..6 produce?
A[2,3,4,5]
B[6,5,4,3,2]
C[3,4,5,6]
D[2,3,4,5,6]
What is the output of 10..7 in PowerShell?
A[10,9,8,7]
BError
C[7,8,9,10]
D[10,7]
Which of these is a valid way to use the range operator with variables?
Arange($a,$b)
B$a..$b
C$a to $b
D[$a,$b]
If you want numbers from 1 to 10, which is the correct PowerShell syntax?
Arange(1,10)
B1-10
C1..10
D1 to 10
Does the range operator include the last number in the sequence?
AYes, it includes the last number.
BNo, it excludes the last number.
COnly if the start is less than the end.
DOnly if the start is greater than the end.
Explain how the range operator (..) works in PowerShell and give an example.
Think about how you count numbers from one to another.
You got /3 concepts.
    What happens if the first number is bigger than the second in a range expression? Describe the output.
    Consider counting backwards.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the PowerShell range operator 1..5 produce?
      easy
      A. An empty list
      B. A list of numbers from 5 to 1 inclusive
      C. A syntax error
      D. A list of numbers from 1 to 5 inclusive

      Solution

      1. Step 1: Understand the range operator syntax

        The range operator .. creates a sequence of numbers from the first number to the second number.
      2. Step 2: Apply the operator to 1..5

        It creates a list starting at 1 and ending at 5, including both ends.
      3. Final Answer:

        A list of numbers from 1 to 5 inclusive -> Option D
      4. Quick Check:

        Range 1..5 = 1,2,3,4,5 [OK]
      Hint: Range operator lists numbers from start to end inclusive [OK]
      Common Mistakes:
      • Thinking it counts down by default
      • Expecting exclusive end value
      • Confusing syntax with other operators
      2. Which of the following is the correct syntax to create a descending range from 5 to 1 in PowerShell?
      easy
      A. 5-1
      B. 1..5
      C. 5..1
      D. range(5,1)

      Solution

      1. Step 1: Identify how to create descending ranges

        PowerShell range operator supports descending ranges by placing the higher number first.
      2. Step 2: Check the options

        5..1 uses 5..1 which creates a descending list from 5 down to 1.
      3. Final Answer:

        5..1 -> Option C
      4. Quick Check:

        Descending range = 5..1 [OK]
      Hint: Put larger number first for descending range [OK]
      Common Mistakes:
      • Using 1..5 for descending range
      • Using invalid syntax like 5-1
      • Using non-PowerShell functions like range()
      3. What is the output of this PowerShell command?
      1..3 | ForEach-Object { $_ * 2 }
      medium
      A. 2 4 6
      B. 1 2 3
      C. 3 6 9
      D. Error: Invalid operation

      Solution

      1. Step 1: Understand the range and pipeline

        The range operator 1..3 produces 1, 2, 3 which are piped one by one.
      2. Step 2: Multiply each number by 2

        Each number is multiplied by 2: 1*2=2, 2*2=4, 3*2=6.
      3. Final Answer:

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

        1..3 * 2 = 2 4 6 [OK]
      Hint: Range pipes each number; multiply inside loop [OK]
      Common Mistakes:
      • Expecting original numbers without multiplication
      • Confusing multiplication with addition
      • Thinking it produces a syntax error
      4. You wrote this code but it throws an error:
      5..1..1

      What is the problem?
      medium
      A. Range operator does not support three dots
      B. Range operator requires spaces between dots
      C. Range operator only works with ascending numbers
      D. Range operator needs parentheses around numbers

      Solution

      1. Step 1: Analyze the syntax used

        The code uses three dots .. twice in a row, making ..1..1 which is invalid.
      2. Step 2: Understand range operator limitations

        The range operator only supports two dots .. between two numbers, not three dots or step values.
      3. Final Answer:

        Range operator does not support three dots -> Option A
      4. Quick Check:

        Only two dots allowed in range operator [OK]
      Hint: Range operator uses exactly two dots (..), no more [OK]
      Common Mistakes:
      • Trying to add step value with extra dots
      • Adding spaces between dots
      • Assuming parentheses fix syntax
      5. You want to create a list of even numbers from 2 to 10 using the range operator and filtering. Which script correctly does this?
      hard
      A. 2..10 | ForEach-Object { $_ * 2 }
      B. 2..10 | Where-Object { $_ % 2 -eq 0 }
      C. 1..5 | Where-Object { $_ % 2 -eq 0 }
      D. 2..10..2

      Solution

      1. Step 1: Understand the range and filtering

        The range operator 2..10 creates numbers 2 to 10. Filtering with Where-Object { $_ % 2 -eq 0 } keeps only even numbers.
      2. Step 2: Check each option

        2..10 | Where-Object { $_ % 2 -eq 0 } correctly filters evens from 2 to 10. 2..10 | ForEach-Object { $_ * 2 } doubles numbers 2 to 10 (wrong). 1..5 | Where-Object { $_ % 2 -eq 0 } filters evens from 1 to 5 (wrong range). 2..10..2 uses invalid syntax (range operator does not support step).
      3. Final Answer:

        2..10 | Where-Object { $_ % 2 -eq 0 } -> Option B
      4. Quick Check:

        Filter evens from range with Where-Object [OK]
      Hint: Use Where-Object to filter even numbers after range [OK]
      Common Mistakes:
      • Trying to add step in range operator
      • Using wrong range limits
      • Multiplying instead of filtering
      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