Skip to main content
TopMiniSite

Back to all posts

How to Loop Through All Directories In A Drive Using Powershell?

Published on
4 min read
How to Loop Through All Directories In A Drive Using Powershell? image

Best PowerShell Script Tools to Buy in October 2025

1 Learn PowerShell Scripting in a Month of Lunches, Second Edition: Write and organize scripts and tools

Learn PowerShell Scripting in a Month of Lunches, Second Edition: Write and organize scripts and tools

BUY & SAVE
$47.34 $59.99
Save 21%
Learn PowerShell Scripting in a Month of Lunches, Second Edition: Write and organize scripts and tools
2 Beginner’s Guide to PowerShell Scripting: Automate Windows Administration, Master Active Directory, and Unlock Cloud DevOps with Real-World Scripts and Projects

Beginner’s Guide to PowerShell Scripting: Automate Windows Administration, Master Active Directory, and Unlock Cloud DevOps with Real-World Scripts and Projects

BUY & SAVE
$0.99
Beginner’s Guide to PowerShell Scripting: Automate Windows Administration, Master Active Directory, and Unlock Cloud DevOps with Real-World Scripts and Projects
3 PowerShell for Penetration Testing: Explore the capabilities of PowerShell for pentesters across multiple platforms

PowerShell for Penetration Testing: Explore the capabilities of PowerShell for pentesters across multiple platforms

BUY & SAVE
$47.49 $49.99
Save 5%
PowerShell for Penetration Testing: Explore the capabilities of PowerShell for pentesters across multiple platforms
4 Learn PowerShell Scripting in a Month of Lunches

Learn PowerShell Scripting in a Month of Lunches

BUY & SAVE
$49.71
Learn PowerShell Scripting in a Month of Lunches
5 Troubleshooting SharePoint: The Complete Guide to Tools, Best Practices, PowerShell One-Liners, and Scripts

Troubleshooting SharePoint: The Complete Guide to Tools, Best Practices, PowerShell One-Liners, and Scripts

BUY & SAVE
$27.00 $59.99
Save 55%
Troubleshooting SharePoint: The Complete Guide to Tools, Best Practices, PowerShell One-Liners, and Scripts
6 AWS Tools for PowerShell 6: Administrate, maintain, and automate your infrastructure with ease

AWS Tools for PowerShell 6: Administrate, maintain, and automate your infrastructure with ease

BUY & SAVE
$48.99
AWS Tools for PowerShell 6: Administrate, maintain, and automate your infrastructure with ease
7 Learn PowerShell Toolmaking in a Month of Lunches

Learn PowerShell Toolmaking in a Month of Lunches

BUY & SAVE
$20.52 $44.99
Save 54%
Learn PowerShell Toolmaking in a Month of Lunches
8 PowerShell Advanced Cookbook: Enhance your scripting skills and master PowerShell with 90+ advanced recipes (English Edition)

PowerShell Advanced Cookbook: Enhance your scripting skills and master PowerShell with 90+ advanced recipes (English Edition)

BUY & SAVE
$37.95
PowerShell Advanced Cookbook: Enhance your scripting skills and master PowerShell with 90+ advanced recipes (English Edition)
9 Learn Windows PowerShell in a Month of Lunches

Learn Windows PowerShell in a Month of Lunches

BUY & SAVE
$34.99
Learn Windows PowerShell in a Month of Lunches
+
ONE MORE?

To loop through all directories in a drive using PowerShell, you can use the Get-ChildItem cmdlet with the -Recurse switch. This cmdlet retrieves all directories and subdirectories in a specified path. You can also use a foreach loop to iterate through each directory and perform actions on them. By combining these two techniques, you can traverse all directories in a drive and perform operations as needed.

How to display the full path of each directory in the loop in Powershell?

You can use the following PowerShell script to display the full path of each directory in a loop:

# Get the list of directories in a specific directory $directories = Get-ChildItem -Directory -Path C:\Your\Directory\Path

Loop through each directory and display the full path

foreach ($directory in $directories) { Write-Output $directory.FullName }

Replace C:\Your\Directory\Path with the actual path of the directory you want to display the full path of each directory in.

This script will get a list of directories in the specified directory and then loop through each directory to display its full path using the FullName property of the directory object.

How to create a log file containing details of the directory loop in Powershell?

To create a log file containing details of the directory loop in Powershell, you can use the following script:

# Set the directory path $directory = "C:\Path\To\Directory"

Create a log file

$logFile = "C:\Path\To\LogFile.txt"

Get the list of all files in the directory and its subdirectories

Get-ChildItem -Path $directory -Recurse | ForEach-Object {

# Log the details of each file to the log file
Add-Content -Path $logFile -Value ("File Name: " + $\_.FullName)

}

Write-Host "Log file created at $logFile"

Replace "C:\Path\To\Directory" with the directory path for which you want to list the files. Replace "C:\Path\To\LogFile.txt" with the path where you want to create the log file.

Save the script to a yourscriptname.ps1 file and run it in PowerShell. This will create a log file at the specified location with details of all files in the directory and its subdirectories.

What is the best practice for handling errors while looping through directories in Powershell?

One of the best practices for handling errors while looping through directories in Powershell is to use try/catch blocks.

For example:

$directory = "C:\MyDirectory"

try { Get-ChildItem $directory -Recurse | ForEach-Object { # Your code here } } catch { Write-Output "An error occurred: $_" }

By wrapping your code in a try block, you can catch any errors that occur during the loop and handle them gracefully. This can help prevent your script from crashing if it encounters an unexpected issue while looping through directories.

Additionally, you can use the -ErrorAction Stop parameter with commands that may generate errors, which will cause the script to stop and throw an exception when an error occurs. This can help you quickly identify and troubleshoot issues in your script.

Overall, error handling in Powershell is crucial when looping through directories to ensure the stability and reliability of your script.

How to count the number of directories in a drive using Powershell?

To count the number of directories in a drive using Powershell, you can use the following command:

(Get-ChildItem -Path ":\*" -Directory).Count

Replace "<drive letter>:\*" with the appropriate drive letter you want to count the directories in. For example, to count the directories in the C drive, you would use:

(Get-ChildItem -Path "C:\*" -Directory).Count

This command will list all the directories in the specified drive and then count the number of directories using the .Count property.

When looping through directories in Powershell, symbolic links are treated as regular directories and their contents will be included in the loop. This means that if a symbolic link points to a directory, the loop will iterate through the files and subdirectories within the linked directory as if they were part of the original directory being looped through. This behavior can be useful for traversing symbolic links and accessing linked content without needing to explicitly follow the links.