📖 Scenario: You have a text file named notes.txt that contains some important notes. You want to read the content of this file using PowerShell to see what is inside.
🎯 Goal: Learn how to use the PowerShell Get-Content command to read and display the content of a text file.
📋 What You'll Learn
Create a variable to store the file path
Use Get-Content to read the file content
Store the content in a variable
Display the content using Write-Output
💡 Why This Matters
🌍 Real World
Reading file content is a common task when you want to check logs, configuration files, or notes without opening them manually.
💼 Career
Many IT and automation jobs require reading and processing file content using scripts to automate tasks and gather information quickly.
Progress0 / 4 steps
1
Create a variable with the file path
Create a variable called $filePath and set it to the string "notes.txt".
PowerShell
Hint
Use = to assign the string "notes.txt" to the variable $filePath.
2
Read the file content using Get-Content
Create a variable called $content and set it to the result of Get-Content using the $filePath variable.
PowerShell
Hint
Use Get-Content -Path $filePath to read the file content and assign it to $content.
3
Display the file content
Use Write-Output to display the content stored in the $content variable.
PowerShell
Hint
Use Write-Output $content to print the file content to the screen.
4
Run the script and see the output
Run the script to display the content of notes.txt. The output should exactly match the file content below:
Line 1: Remember to buy milk
Line 2: Call Alice at 5pm
Line 3: Meeting notes from Monday
PowerShell
Hint
Make sure the file notes.txt contains exactly these three lines before running the script.
Practice
(1/5)
1. What does the PowerShell command Get-Content do?
easy
A. Copies a file to a new location
B. Deletes a file from the system
C. Reads the content of a file line by line
D. Creates a new file with specified content
Solution
Step 1: Understand the purpose of Get-Content
The Get-Content cmdlet is designed to read the contents of a file, typically line by line.
Step 2: Compare with other file commands
Deleting, creating, or copying files are done by other cmdlets like Remove-Item, Set-Content, or Copy-Item.
Final Answer:
Reads the content of a file line by line -> Option C
Quick Check:
Get-Content = Read file lines [OK]
Hint: Get-Content always reads file text line by line [OK]
Common Mistakes:
Confusing Get-Content with file deletion commands
Thinking it writes or creates files
Assuming it copies files
2. Which of the following is the correct syntax to read all lines from a file named log.txt using PowerShell?
easy
A. Get-Content -Path log.txt
B. Get-Content log.txt -ReadAll
C. Read-File log.txt
D. Get-FileContent log.txt
Solution
Step 1: Recall the correct cmdlet and syntax
The correct cmdlet to read file content is Get-Content with the -Path parameter specifying the file.
Step 2: Evaluate the options
Get-Content -Path log.txt uses correct syntax. Options A, C, and D use incorrect cmdlets or parameters that do not exist.
Final Answer:
Get-Content -Path log.txt -> Option A
Quick Check:
Correct cmdlet and parameter = Get-Content -Path log.txt [OK]
Hint: Use Get-Content with -Path to specify file [OK]
Common Mistakes:
Using non-existent cmdlets like Read-File
Adding invalid parameters like -ReadAll
Confusing parameter order
3. Given a file data.txt with these lines: Line1 Line2 Line3 What will the command Get-Content data.txt | Select-Object -Last 1 output?
medium
A. Line1
B. Line3
C. Line2
D. Line1`nLine2`nLine3
Solution
Step 1: Understand Get-Content output
Get-Content reads the file line by line, outputting each line as a separate string.
Step 2: Understand Select-Object -Last 1
This selects only the last line from the input, which is "Line3".
Final Answer:
Line3 -> Option B
Quick Check:
Last line selected = Line3 [OK]
Hint: Select-Object -Last 1 picks last line from Get-Content output [OK]
Common Mistakes:
Thinking it outputs all lines concatenated
Selecting the first line instead of last
Confusing Select-Object with filtering content
4. You run Get-Content -Path 'C:\logs\app.log' but get an error saying the file is not found. What is the most likely cause?
medium
A. PowerShell does not support reading files on C: drive
B. Get-Content cannot read .log files
C. You need to use -ReadFile instead of Get-Content
D. The file path is incorrect or the file does not exist
Solution
Step 1: Check file existence and path correctness
The error usually means the file path is wrong or the file is missing at that location.
Step 2: Verify cmdlet capabilities and environment
Get-Content can read any text file including .log files, and PowerShell supports reading files on C: drive.
Final Answer:
The file path is incorrect or the file does not exist -> Option D
Quick Check:
File not found error = wrong path or missing file [OK]
Hint: Check file path and existence first on file errors [OK]
Common Mistakes:
Assuming Get-Content can't read .log files
Using non-existent parameters like -ReadFile
Thinking PowerShell can't access C: drive
5. You want to read only the first 5 lines of a large file report.txt in PowerShell. Which command will do this efficiently?
hard
A. Get-Content report.txt | Select-Object -First 5
B. Get-Content report.txt -Tail 5
C. Get-Content report.txt -First 5
D. Get-Content report.txt | Where-Object { $_ -le 5 }
Solution
Step 1: Understand how to select first lines
Get-Content reads the whole file by default. To get only the first 5 lines, pipe to Select-Object -First 5.
Step 2: Evaluate other options
Get-Content report.txt -Tail 5 reads last 5 lines, not first. Get-Content report.txt -First 5 is invalid syntax (no -First parameter for Get-Content). Get-Content report.txt | Where-Object { $_ -le 5 } filters lines by content, not line number.
Final Answer:
Get-Content report.txt | Select-Object -First 5 -> Option A
Quick Check:
Use Select-Object -First for first lines [OK]
Hint: Pipe Get-Content to Select-Object -First 5 for first lines [OK]
Common Mistakes:
Using -Tail instead of -First
Trying invalid -First parameter on Get-Content
Filtering lines by content instead of line number
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.