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.

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 - SharePoint Expert with Two decades of SharePoint Experience. Love to Share my knowledge and experience with the SharePoint community, through real-time 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 *