Bird
Raised Fist0
PowerShellscripting~10 mins

Why file management is core to scripting in PowerShell - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to list all files in the current directory.

PowerShell
Get-ChildItem [1]
Drag options to blanks, or click blank then click option'
A-Path .
B-File
C-Recurse
D-Name
Attempts:
3 left
💡 Hint
Common Mistakes
Using -File alone lists only files, but no path specified.
Using -Recurse lists files in all subfolders, not just current.
2fill in blank
medium

Complete the code to create a new folder named 'Scripts'.

PowerShell
New-Item -ItemType Directory -Name [1]
Drag options to blanks, or click blank then click option'
A'Files'
B'Scripts'
C'Documents'
D'Data'
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting quotes around the folder name.
Using wrong folder name.
3fill in blank
hard

Fix the error in the code to copy 'file.txt' to 'backup.txt'.

PowerShell
Copy-Item -Path [1] -Destination 'backup.txt'
Drag options to blanks, or click blank then click option'
A'file.txt'
B'file_backup.txt'
C'backup.txt'
D'file'
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping source and destination names.
Missing quotes around file names.
4fill in blank
hard

Fill both blanks to move all '.txt' files to the 'Archive' folder.

PowerShell
Move-Item -Path [1] -Destination [2]
Drag options to blanks, or click blank then click option'
A'*.txt'
B'*.csv'
C'Archive'
D'Backup'
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong file pattern like '*.csv'.
Using wrong destination folder name.
5fill in blank
hard

Fill all three blanks to create a dictionary of file names and their sizes for '.log' files.

PowerShell
$files = Get-ChildItem -Filter [1] | ForEach-Object { @{ [2] = $_.Name; [3] = $_.Length } }
Drag options to blanks, or click blank then click option'
A'*.log'
B'Name'
C'Size'
D'*.txt'
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong filter pattern.
Mixing up dictionary keys.

Practice

(1/5)
1. Why is file management considered a core part of scripting in PowerShell?
easy
A. Because it slows down script execution
B. Because it only works with text files
C. Because it requires no commands to manage files
D. Because it automates organizing and handling many files efficiently

Solution

  1. Step 1: Understand the role of file management in scripting

    File management commands help automate organizing and changing files, which is essential for handling many files quickly and correctly.
  2. Step 2: Evaluate the options

    Because it automates organizing and handling many files efficiently correctly states the benefit of automating file handling. Options A, B, and C are incorrect because it does not slow down script execution, is not limited to text files, and requires commands.
  3. Final Answer:

    Because it automates organizing and handling many files efficiently -> Option D
  4. Quick Check:

    File management automates file handling = D [OK]
Hint: File management automates tasks to save time and reduce errors [OK]
Common Mistakes:
  • Thinking file management only works with text files
  • Believing file management slows down scripts
  • Assuming no commands are needed to manage files
2. Which of the following is the correct PowerShell command to list all files in the current directory?
easy
A. Get-ChildItem
B. Get-FileList
C. List-Files
D. Show-Files

Solution

  1. Step 1: Identify the standard command for listing files

    In PowerShell, the command to list files and folders is Get-ChildItem.
  2. Step 2: Check the options

    Only Get-ChildItem matches the correct PowerShell command. The others are invalid or do not exist.
  3. Final Answer:

    Get-ChildItem -> Option A
  4. Quick Check:

    List files command = Get-ChildItem [OK]
Hint: Remember: Get-ChildItem lists files and folders [OK]
Common Mistakes:
  • Using non-existent commands like Get-FileList
  • Confusing commands with similar names
  • Assuming 'List-Files' is a valid PowerShell command
3. What will be the output of this PowerShell command?
Get-ChildItem -Path . -Filter '*.txt' | Select-Object -ExpandProperty Name
medium
A. Lists all file names with .txt extension in the current directory
B. Lists all folders in the current directory
C. Shows full file paths of all files
D. Deletes all .txt files in the current directory

Solution

  1. Step 1: Understand the command parts

    Get-ChildItem with -Filter '*.txt' selects files ending with .txt. Select-Object -ExpandProperty Name extracts just the file names.
  2. Step 2: Determine the output

    The command outputs a list of .txt file names in the current directory, not folders or full paths, and does not delete files.
  3. Final Answer:

    Lists all file names with .txt extension in the current directory -> Option A
  4. Quick Check:

    Filter '*.txt' + expand Name = list of .txt file names [OK]
Hint: Filter '*.txt' lists text files; expand Name shows just names [OK]
Common Mistakes:
  • Thinking it lists folders instead of files
  • Assuming it shows full file paths
  • Confusing it with a delete command
4. Identify the error in this PowerShell script snippet that tries to move all .log files to a Logs folder:
Move-Item -Path *.log -Destination Logs
medium
A. The wildcard *.log is not allowed in Move-Item
B. The destination folder 'Logs' must be a full path or exist beforehand
C. Move-Item cannot move files, only folders
D. The command needs -Recurse to work

Solution

  1. Step 1: Analyze Move-Item usage

    Move-Item can move files using wildcards, but the destination folder must exist or be a full path.
  2. Step 2: Check the options

    The destination folder 'Logs' must be a full path or exist beforehand correctly points out the need for the destination folder to exist or be a full path. Options A, C, and D are incorrect because wildcards are allowed, Move-Item moves files, and -Recurse is not needed here.
  3. Final Answer:

    The destination folder 'Logs' must be a full path or exist beforehand -> Option B
  4. Quick Check:

    Destination folder must exist for Move-Item [OK]
Hint: Ensure destination folder exists before moving files [OK]
Common Mistakes:
  • Assuming wildcards are not allowed in Move-Item
  • Thinking Move-Item only moves folders
  • Adding -Recurse unnecessarily
5. You want to automate cleaning up old backup files in PowerShell. Which script snippet correctly deletes all .bak files older than 30 days in the Backup folder?
hard
A.
Get-ChildItem Backup | Remove-Item -Filter '*.bak' -OlderThan 30
B.
Remove-Item -Path Backup\*.bak -OlderThan 30
C.
Get-ChildItem -Path Backup -Filter '*.bak' | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item
D.
Remove-Item Backup -Filter '*.bak' -DateOlderThan 30

Solution

  1. Step 1: Understand filtering by date and file type

    Get-ChildItem with -Filter '*.bak' selects backup files. Where-Object filters files older than 30 days using LastWriteTime compared to current date minus 30 days.
  2. Step 2: Confirm deletion command

    Remove-Item deletes the filtered files. Options B, C, and D use invalid parameters or incorrect syntax.
  3. Final Answer:

    Get-ChildItem -Path Backup -Filter '*.bak' | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item -> Option C
  4. Quick Check:

    Filter by date + Remove-Item = correct cleanup script [OK]
Hint: Use Get-ChildItem + Where-Object for date filtering before Remove-Item [OK]
Common Mistakes:
  • Using non-existent parameters like -OlderThan
  • Trying to filter inside Remove-Item
  • Not filtering files by date before deletion
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