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. 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 repeatedly delete folders in SharePoint Online or delete multiple folders. 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

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 = ""
$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
    #sharepoint online powershell delete folder in document library

    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:

#Config Variables
$SiteURL = ""
$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.

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

Salaudeen Rajack

Salaudeen Rajack is a SharePoint Architect with Two decades of SharePoint Experience. He loves sharing his knowledge and experiences with the SharePoint community, through his real-world articles!

2 thoughts on “SharePoint Online: How to Delete a Folder using PowerShell?

Leave a Reply