SharePoint Online: How to Delete a Folder using PowerShell?

Requirement: Delete a folder in SharePoint Online using PowerShell.

SharePoint Online PowerShell to Delete Folder

How to delete a folder in SharePoint Online?

Deleting folders is a great way to clean up your site and get rid of outdated content in SharePoint Online. Deleting a folder is an easy process and can be completed in just a few steps. This blog post will show you how to delete a folder in SharePoint Online.

The first method is to delete the folder directly from the Sharepoint site using a web browser. To delete a folder in SharePoint Online, simply select the folder from the list or library and click on the “delete” button from the toolbar. You can also right-click on the folder and choose “Delete” from the context menu.

SharePoint Online PowerShell Delete Folder

Confirm the delete prompt, and you are done!

Deleting a folder using the browser is pretty simple, isn’t it? But sometimes, you may need to delete folders in SharePoint Online or delete multiple folders repeatedly. In such scenarios, using PowerShell is efficient, as it’s quick and easy. So let’s delete the SharePoint Online folder using PowerShell.

SharePoint Online PowerShell to Delete Folder

There are different ways to delete a folder in Sharepoint Online. Here is the PowerShell to remove a folder from a list or library in SharePoint Online. This PowerShell deletes the folder with its contents, including files and sub-folders.

Import-Module Microsoft.Online.SharePoint.Powershell -DisableNameChecking
  
#Variables for Processing
$SiteUrl = "https://crescent.sharepoint.com/sites/Projects"
$FolderURL="Shared Documents/Project 2020"

Try {
    #Get Credentials to connect
    $Cred = Get-Credential
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Ctx.Credentials = $Credentials
    $Web = $Ctx.Web

    #Get the folder object from given URL
    $Folder=$web.GetFolderByServerRelativeUrl($FolderURL)
    
    #sharepoint online powershell delete folder in document library
    $Folder.DeleteObject()
    $Ctx.ExecuteQuery()

    Write-host "Folder deleted Successfully!" -ForegroundColor Green
}
Catch {
    write-host -f Red "Error deleting Folder!" $_.Exception.Message
}

This script deletes the folder permanently. You can use $Folder.Recycle() method to send the folder to the recycle bin. Similarly, you can delete any sub-folder by setting the FolderURL parameter in the above script.

Delete SharePoint Online Folder using PnP PowerShell

We can also use this PnP PowerShell script to delete a folder in SharePoint Online: The first step is to connect to your SharePoint Online site. This can be done by running the following cmdlet: Connect-PnPOnline. Once you are connected, you can delete the folder by running the command: Remove-PnPFolder. You will need to replace “Name” with the actual name of the folder you want to delete.

#Config Variables
$SiteURL = "https://crescent.sharepoint.com"
$FolderName = "Team Documents"
$ParentFolderSiteRelativeURL= "/Shared Documents"

#Get Credentials to connect
$Cred = Get-Credential

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Credentials $Cred
    
    #sharepoint online powershell delete folder
    Remove-PnPFolder -Name $FolderName -Folder $ParentFolderSiteRelativeURL -Force -Recycle -ErrorAction Stop
    Write-host -f Green "Folder '$FolderName' Deleted Successfully!"

}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

To Permanently Delete a Folder, remove the “-Recycle” switch in the Remove-PnPFolder cmdlet.

Unable to delete a folder in SharePoint Online?

Getting “You have to delete all the items in this folder before you can delete this folder.” error message? Well, this could be because of the retention hold policy applied to your site. Here is another script to bulk delete a folder and its contents SharePoint Online: Delete All Files and Sub-Folders from a Folder Recursively using PowerShell

How do I restrict users from deleting files and folders in SharePoint?

Create a new permission level from “contribute” and remove all delete permissions from it, And then assign the new permission level to the users. This will stop users from deleting any items in SharePoint. However, anyone with more permissions (E.g., “Full Control”) can delete files and folders.
More info: SharePoint Online Prevent Folder Deletion

How do I recover a deleted folder in SharePoint Online?

To restore a folder, navigate to your SharePoint site >> Settings >> “Site Contents” >> Recycle bin. Select the folder to restore from the recycle bin and click on “Restore” If you don’t see the deleted folder in the recycle bin, There are chances it may be in the second-stage recycle bin.
More info: Recover Deleted folder in SharePoint Online

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 “SharePoint Online: How to Delete a Folder using PowerShell?

Leave a Reply

Your email address will not be published.