String interpolation (double quotes) in PowerShell
📖 Scenario: You are creating a simple script to greet users by their names and show their age using PowerShell. This is common when automating messages or reports.
🎯 Goal: Build a PowerShell script that uses string interpolation with double quotes to insert variables into strings.
📋 What You'll Learn
Create variables with exact names and values
Use double quotes for string interpolation
Print the final interpolated strings
💡 Why This Matters
🌍 Real World
String interpolation is used in scripts to create dynamic messages, reports, or logs that include variable data.
💼 Career
Many automation and scripting jobs require creating readable output with variable data, making string interpolation a key skill.
Progress0 / 4 steps
1
Create user data variables
Create two variables: $name with the value "Alice" and $age with the value 30.
PowerShell
Hint
Use = to assign values. Strings need double quotes.
2
Create greeting message variable
Create a variable called $greeting that uses double quotes to interpolate $name and $age into the string: Hello, my name is Alice and I am 30 years old.
PowerShell
Hint
Use double quotes and place variables directly inside the string.
3
Create a farewell message variable
Create a variable called $farewell that uses double quotes to interpolate $name into the string: Goodbye, Alice! See you soon.
PowerShell
Hint
Remember to use double quotes for interpolation and include the variable $name inside the string.
4
Print the messages
Use Write-Output to print the variables $greeting and $farewell each on its own line.
PowerShell
Hint
Use Write-Output to display each message on its own line.
Practice
(1/5)
1. What does string interpolation with double quotes do in PowerShell? $name = "Alice" "Hello, $name!"
easy
A. It removes the variable $name from the string.
B. It treats $name as plain text and does not replace it.
C. It causes a syntax error because variables can't be inside strings.
D. It replaces $name with the value 'Alice' inside the string.
In PowerShell, variables inside double quotes are replaced by their values automatically.
Step 2: Apply to the example
The variable $name has the value 'Alice', so "Hello, $name!" becomes "Hello, Alice!".
Final Answer:
It replaces $name with the value 'Alice' inside the string. -> Option D
Quick Check:
Double quotes interpolate variables = It replaces $name with the value 'Alice' inside the string. [OK]
Hint: Variables inside double quotes show their values [OK]
Common Mistakes:
Thinking variables are not replaced inside double quotes
Confusing single and double quotes behavior
Expecting syntax errors when using variables in strings
2. Which of the following is the correct way to include a variable inside a string using double quotes in PowerShell?
easy
A. 'The user is $userName'
B. "The user is $userName"
C. "The user is userName"
D. 'The user is userName'
Solution
Step 1: Identify correct quoting for interpolation
Double quotes allow variable interpolation, single quotes do not.
Step 2: Check each option
"The user is $userName" uses double quotes and $userName variable correctly. Options A and D use single quotes, so no interpolation. "The user is userName" misses the $ sign.
Final Answer:
"The user is $userName" -> Option B
Quick Check:
Double quotes + $variable = interpolation [OK]
Hint: Use double quotes and $variable for interpolation [OK]
Common Mistakes:
Using single quotes which do not interpolate
Forgetting the $ before variable name
Using double quotes but missing $ sign
3. What will be the output of this PowerShell code?
$count = 5 $message = "You have $count new messages." Write-Output $message
medium
A. You have 5 new messages.
B. You have $count new messages.
C. You have new messages.
D. Syntax error
Solution
Step 1: Understand variable interpolation in the string
The variable $count has value 5, and inside double quotes it will be replaced by 5.
Step 2: Output the interpolated string
The string becomes "You have 5 new messages.", so Write-Output prints that exact text.
Final Answer:
You have 5 new messages. -> Option A
Quick Check:
Variable replaced inside double quotes = You have 5 new messages. [OK]
Hint: Variables inside double quotes show their values [OK]
Common Mistakes:
Expecting variable name to print literally
Confusing single quotes with double quotes
Thinking it causes an error
4. Identify the error in this PowerShell code snippet:
A. Single quotes prevent variable interpolation in Write-Output.
B. The variable $user is not defined.
C. Double quotes around $greeting cause syntax error.
D. Write-Output cannot print variables.
Solution
Step 1: Check how $greeting is printed
Write-Output uses single quotes around '$greeting', so it prints the literal text "$greeting" without replacing it.
Step 2: Understand variable interpolation rules
Variables inside single quotes are not replaced; to print the value of $greeting, double quotes or no quotes should be used.
Final Answer:
Single quotes prevent variable interpolation in Write-Output. -> Option A
Quick Check:
Single quotes block interpolation = Single quotes prevent variable interpolation in Write-Output. [OK]
Hint: Use double quotes to print variable values, not single quotes [OK]
Common Mistakes:
Assuming variables interpolate inside single quotes
Thinking Write-Output can't print variables
Confusing variable definition with usage
5. You want to create a file path string in PowerShell that includes a variable folder name. Which code correctly uses string interpolation to build the path?
$folder = "Documents" $path = ?
hard
A. "C:/Users$folder/file.txt"
B. 'C:\Users\$folder\file.txt'
C. "C:\Users\$folder\file.txt"
D. 'C:/Users/$folder/file.txt'
Solution
Step 1: Understand string interpolation and path separators
Double quotes allow $folder to be replaced by its value. PowerShell treats backslashes as literal characters in double-quoted strings and uses them for Windows paths.
Step 2: Check each option
"C:/Users$folder/file.txt": "C:/Users$folder/file.txt" interpolates but misses separator ("C:/UsersDocuments/file.txt"), invalid path. 'C:\Users\$folder\file.txt': 'C:\Users\$folder\file.txt' uses single quotes, no interpolation. "C:\Users\$folder\file.txt": "C:\Users\$folder\file.txt" uses double quotes and proper Windows path syntax, interpolates to valid path. 'C:/Users/$folder/file.txt': uses single quotes, no interpolation.