PowerShell to Check if Folder Exists

Requirement: Check if a folder exists in PowerShell.

How to check if a folder exists in PowerShell?

In PowerShell, checking if a folder exists is a very common task. You may need to check if a folder exists before performing actions, such as creating a new folder, deleting a folder, renaming a folder, etc. To check if a folder exists in PowerShell, use the Test-Path cmdlet. This cmdlet takes a path as input, and checks whether a file or folder exists in the specified location.

To check if a folder exists, you can use the following syntax:

Test-Path -Path "C:\path\folder"

If the folder exists, the cmdlet will return True. If the folder does not exist, the cmdlet will return False. Here is an example of how you can use Test-Path to check if a folder exists:

# Replace "C:\Temp\Example" with the path to the folder you want to check
if (Test-Path "C:\Temp\Example") {
    # Folder exists - Do something here
    Write-host "Folder Exists!" -f Green
}
else {
    # Folder does not exist - Do something else here
    Write-host "Folder Doesn't Exists!" -f Red
}

You can also use the -IsValid parameter to check if the path is a valid folder path, regardless of whether the folder actually exists. For example:

# Replace "D:\Temp\Example" with the path to the folder you want to check
if (Test-Path "D:\Temp\Example" -IsValid) {
    # Path is valid - Do something here
    Write-host "Path is Valid!" -f Green
}
else {
    # Path is Invalid - Do something else here
    Write-host "Path is Invalid!" -f Red
}

If you don’t have “D:\” the above script executes the “Else” part.

PowerShell Test-Path

Create a folder if not exist in PowerShell

To create a folder in PowerShell if it does not already exist, you can use the New-Item cmdlet with the -ItemType parameter set to Directory along with Test-Path cmdlet. Here is an example of how you can check if a folder exists and create a folder:

$FolderPath = "C:\Temp\New Folder"

If (-not (Test-Path $FolderPath)) {
    # Folder does not exist, create it
    New-Item -Path $folderPath -ItemType Directory
    Write-host "New Folder Created at '$FolderPath'!" -f Green
}
Else {
    Write-host "Folder '$FolderPath' already exists!" -f Red
}

Note that Test-Path works with both local and network paths, so you can use it to check for the existence of a folder on a network share as well.

# Replace "\\Server\Share\Folder" with the path to the network folder you want to check
if (Test-Path "\\Server\Share\Folder") {
    # Folder exists
    # Do something here
}
else {
    # Folder does not exist
    # Do something else here
}

PowerShell to Delete Folder if Exists

To delete a folder in PowerShell if it exists, you can use the Remove-Item cmdlet. The following syntax can be used to delete a folder if it exists:

#Folder Path
$FolderPath = "C:\Temp\New Folder"

#Check if folder exists
If (Test-Path $FolderPath) {
    # Folder exists, delete it!
    Remove-Item -Path $FolderPath -Recurse
    Write-host "Folder Deleted at '$FolderPath'!" -f Green
}
Else {
    Write-host "Folder '$FolderPath' does not exist!" -f Red
}

The Remove-Item cmdlet will delete the folder and all of its contents, including any subfolders and files.

PowerShell to Check if Folder Exists

Conclusion

In conclusion, By using the Test-Path cmdlet, you can easily determine whether a folder exists and take appropriate action based on the result. This can be useful for automating tasks related to folder management, such as creating a new folder if it does not exist or deleting a folder if it exists. You can also use the Test-Path cmdlet in conjunction with other cmdlets, such as New-Item and Remove-Item, to effectively manage folders in PowerShell.

Salaudeen Rajack

Salaudeen Rajack - Information Technology Expert with Two-decades of hands-on experience, specializing in SharePoint, PowerShell, Microsoft 365, and related products. He has held various positions including SharePoint Architect, Administrator, Developer and consultant, has helped many organizations to implement and optimize SharePoint solutions. Known for his deep technical expertise, He's passionate about sharing the knowledge and insights to help others, through the real-world articles!

2 thoughts on “PowerShell to Check if Folder Exists

  • #Check if folder exists
    If (Test-Path $FolderPath) {
    # Folder not exist, delete it!
    Remove-Item -Path $FolderPath -Recurse

    Shouldnt that be “Folder exists…”

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *