Bird
Raised Fist0
PowerShellscripting~5 mins

Get-ChildItem for listing in PowerShell

Choose your learning style10 modes available
Introduction

Get-ChildItem helps you see files and folders inside a folder. It is like looking inside a drawer to find what is there.

You want to see all files in your Documents folder.
You need to check what pictures are saved in a folder.
You want to find all scripts in a project folder.
You want to list all folders inside a main folder.
You want to see files with a certain extension, like .txt or .jpg.
Syntax
PowerShell
Get-ChildItem [-Path] <string> [-Filter <string>] [-Recurse] [-File] [-Directory]

-Path tells where to look. If you skip it, it looks in the current folder.

-Recurse means look inside all folders inside the folder, not just the top level.

Examples
Lists all files and folders in the current folder.
PowerShell
Get-ChildItem
Lists all files and folders inside the Documents folder.
PowerShell
Get-ChildItem -Path C:\Users\YourName\Documents
Lists only files ending with .txt in the current folder.
PowerShell
Get-ChildItem -Path . -Filter *.txt
Lists all files inside the Projects folder and all its subfolders.
PowerShell
Get-ChildItem -Path C:\Projects -Recurse -File
Sample Program

This script first shows all files and folders in the current folder. Then it shows only folders. Finally, it lists all PowerShell script files (.ps1) inside the current folder and all folders inside it.

PowerShell
Write-Host "Files and folders in current directory:";
Get-ChildItem;

Write-Host "\nOnly folders in current directory:";
Get-ChildItem -Directory;

Write-Host "\nAll .ps1 files in current directory and subdirectories:";
Get-ChildItem -Filter "*.ps1" -Recurse -File;
OutputSuccess
Important Notes

Get-ChildItem runs fast for small folders but can be slower with many files or deep folders when using -Recurse.

Use -File to get only files, and -Directory to get only folders.

Common mistake: forgetting to use quotes around paths with spaces, like "C:\My Folder".

Summary

Get-ChildItem lists files and folders in a folder.

You can filter by file type or look inside subfolders with -Recurse.

Use -File or -Directory to list only files or only folders.

Practice

(1/5)
1. What does the PowerShell command Get-ChildItem do by default?
easy
A. Lists all files and folders in the current directory
B. Deletes all files in the current directory
C. Creates a new folder in the current directory
D. Moves files to another directory

Solution

  1. Step 1: Understand the command purpose

    Get-ChildItem is used to list contents of a directory, including files and folders.
  2. Step 2: Check default behavior

    By default, it lists all files and folders in the current directory without deleting, creating, or moving anything.
  3. Final Answer:

    Lists all files and folders in the current directory -> Option A
  4. Quick Check:

    Get-ChildItem lists files/folders = A [OK]
Hint: Remember: Get-ChildItem lists, it does not delete or move [OK]
Common Mistakes:
  • Thinking it deletes files
  • Confusing it with file creation commands
  • Assuming it moves files automatically
2. Which of the following is the correct syntax to list only files (not folders) in the current directory using Get-ChildItem?
easy
A. Get-ChildItem -File
B. Get-ChildItem -Directory
C. Get-ChildItem -Folder
D. Get-ChildItem -ListFiles

Solution

  1. Step 1: Identify the parameter for files only

    The -File parameter filters output to show only files.
  2. Step 2: Verify other options

    -Directory lists only folders, -Folder and -ListFiles are invalid parameters.
  3. Final Answer:

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

    -File lists files only = B [OK]
Hint: Use -File to list files, -Directory for folders [OK]
Common Mistakes:
  • Using -Directory to list files
  • Using invalid parameters like -Folder
  • Confusing parameter names
3. What will be the output of this command if the current directory contains two files: file1.txt, file2.log and one folder Docs?
Get-ChildItem -File
medium
A. Lists only the folder Docs
B. Lists file1.txt, file2.log, and Docs
C. Lists file1.txt and file2.log only
D. No output

Solution

  1. Step 1: Understand the -File parameter effect

    The -File parameter filters output to show only files, excluding folders.
  2. Step 2: Apply to given directory contents

    Given files file1.txt and file2.log will be listed; folder Docs will be excluded.
  3. Final Answer:

    Lists file1.txt and file2.log only -> Option C
  4. Quick Check:

    -File excludes folders = C [OK]
Hint: Remember -File shows files only, no folders [OK]
Common Mistakes:
  • Expecting folders to appear with -File
  • Confusing files and folders in output
  • Assuming -File lists everything
4. You run this command but get an error:
Get-ChildItem -Recurse -File -Folder
What is the problem?
medium
A. Get-ChildItem does not support -File parameter
B. The -Recurse parameter is invalid
C. The command is missing a path argument
D. You cannot use both -File and -Folder together

Solution

  1. Step 1: Check parameter compatibility

    -Folder is not a valid parameter; the correct parameter for folders is -Directory. Also, -File and -Directory cannot be used together because they filter mutually exclusive items.
  2. Step 2: Identify the error cause

    Using -File and -Folder together causes a parameter conflict error.
  3. Final Answer:

    You cannot use both -File and -Folder together -> Option D
  4. Quick Check:

    -File and -Directory are exclusive = A [OK]
Hint: Use either -File or -Directory, not both together [OK]
Common Mistakes:
  • Using -Folder instead of -Directory
  • Trying to combine -File and -Directory
  • Assuming -Recurse causes the error
5. You want to list all files with extension .txt in the current directory and all its subdirectories. Which command should you use?
hard
A. Get-ChildItem -Filter *.txt
B. Get-ChildItem -Recurse -File -Filter *.txt
C. Get-ChildItem -Recurse -Directory -Filter *.txt
D. Get-ChildItem -File -Filter *.txt

Solution

  1. Step 1: Include subdirectories with -Recurse

    To search inside all subfolders, use the -Recurse parameter.
  2. Step 2: Filter only files with .txt extension

    Use -File to list files only and -Filter *.txt to select files ending with .txt.
  3. Final Answer:

    Get-ChildItem -Recurse -File -Filter *.txt -> Option B
  4. Quick Check:

    Use -Recurse, -File, and -Filter for .txt files = D [OK]
Hint: Combine -Recurse, -File, and -Filter for specific files [OK]
Common Mistakes:
  • Omitting -Recurse to search subfolders
  • Using -Directory instead of -File
  • Not using -Filter for file extension
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