Skip to main content

Delete all files and folders in a document library

Are you looking to delete all files and folders in a document library, look no further.

Ensure your users are empowered to do so by elevating their privilege, allow unsafe update then loop through the library in question.

SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPSite elevatedSite = new SPSite(SPContext.Current.Site.ID))
                {
                    using (SPWeb web = elevatedSite.RootWeb)
                    {
                        web.AllowUnsafeUpdates = true;
                        web.ValidateFormDigest();
                        System.String listName = LibraryName;
                        SPFolderCollection folders = web.Folders[listName].SubFolders;
                            foreach (SPFolder folder in folders)
                            {
                                if (folder.Name != "Forms")
                                    web.Folders[listName].SubFolders.Delete(folder.Url);
                            }
                            web.AllowUnsafeUpdates = false;
                    }
                }
            });

QED

Comments

Popular posts from this blog

Get Sum of Columns in a SharePoint list (Threshold edition)

It is a known fact that once the treshold limit is reached in SP, everything seems frozen.  At this point you have some options. Increase the limit using powershell or from the Central Admin OR Index the columns that you will like to operate on and create views based on those. However programmatically if you want to sum a list that has reached its threshold.  You can do so in batches as hown below:          protected   void  GetSummary( out   long  ideas,  out   long  votes,  out   long  comments,  out   long  transform)         {              long  ideasum = 0;              long columntoSum = 0;              long  commentS...

Add Web Visual Studio templates to SharePoint Project

Would you like to add the web user control to SharePoint 2007 project development.  Then open the project file with notepad and add {349c5851-65df-11da-9384-00065b846f21} to the ProjectTypeGUIDs node.   The necessary change is shown below: < ProjectTypeGuids > {349c5851-65df-11da-9384-00065b846f21};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} </ ProjectTypeGuids >