Skip to content
Amal Hashim
All posts
Snippet

PowerShell - Delete all files and folders from a SharePoint library

A PowerShell script that empties a SharePoint 2010 document library by deleting its files and then its folders.

1 min read#PowerShell#SharePoint#SharePoint 2010

PowerShell needs no compiling. Write the script and run it. This one clears a SharePoint document library: first the files (root and subfolders), then the folders.

Replace siteurl with your web URL and docurl with the library URL.

powershell
Add-PSSnapin Microsoft.SharePoint.PowerShell

# Replace siteurl with actual web url
$web = Get-SPWeb -Identity "siteurl"
# Replace docurl with document library url
$list = $web.GetList("docurl")

function DeleteFiles {
    param($folderUrl)
    $folder = $web.GetFolder($folderUrl)
    foreach ($file in $folder.Files) {
        # Delete file by deleting parent SPListItem
        Write-Host("DELETED FILE: " + $file.name)
        $list.Items.DeleteItemById($file.Item.Id)
    }
}

# Delete root files
DeleteFiles($list.RootFolder.Url)

# Delete files in folders
foreach ($folder in $list.Folders) {
    DeleteFiles($folder.Url)
}

# Delete folders
foreach ($folder in $list.Folders) {
    try {
        Write-Host("DELETED FOLDER: " + $folder.name)
        $list.Folders.DeleteItemById($folder.ID)
    }
    catch {
        # Deletion of parent folder already deleted this folder
    }
}

Run it from the SharePoint 2010 Management Shell. Test on a copy of the library first, because the deletes are immediate.