Hi @raj chahal ,
If you want to delete a folder without files, I suggest you could use PNP-PowerShell to delete it. It can automatically identify an empty folder and delete it.
Please try to use this code:
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$DocumentLibraryName = "Documents"
#Connect to the Site
Connect-PnPOnline -URL $SiteURL -Credentials (Get-Credential)
#Get the web & folder
$Web = Get-PnPWeb
$List = Get-PnPList -Identity $DocumentLibraryName -Includes RootFolder
Function Delete-PnPEmptyFolder([Microsoft.SharePoint.Client.Folder]$Folder)
{
$FolderSiteRelativeURL = $Folder.ServerRelativeUrl.Substring($Web.ServerRelativeUrl.Length+1)
#Process all Sub-Folders
$SubFolders = Get-PnPFolderItem -FolderSiteRelativeUrl $FolderSiteRelativeURL -ItemType Folder
Foreach($SubFolder in $SubFolders)
{
#Exclude "Forms" and Hidden folders
If(($SubFolder.Name -ne "Forms") -and (-Not($SubFolder.Name.StartsWith("_"))))
{
#Call the function recursively
Delete-PnPEmptyFolder -Folder $SubFolder
}
}
#Get all files & Reload Sub-folders from the given Folder
$Files = Get-PnPFolderItem -FolderSiteRelativeUrl $FolderSiteRelativeURL -ItemType File
$SubFolders = Get-PnPFolderItem -FolderSiteRelativeUrl $FolderSiteRelativeURL -ItemType Folder
If ($Files.Count -eq 0 -and $SubFolders.Count -eq 0)
{
#Delete the folder
$ParentFolder = Get-PnPProperty -ClientObject $Folder -Property ParentFolder
$ParentFolderURL = $ParentFolder.ServerRelativeUrl.Substring($Web.ServerRelativeUrl.Length+1)
Remove-PnPFolder -Name $Folder.Name -Folder $ParentFolderURL -Force -Recycle
Write-Host -f Green ("Deleted Folder: '{0}' at '{1}'" -f $Folder.Name, $Folder.ServerRelativeURL)
}
}
#Call the Function to Delete empty Folders
Delete-PnPEmptyFolder $List.RootFolder
Output:
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".