SharePoint CSOM enables us to delete bulk list items using browser console.
Scenario-1: We have a list of records to be deleted from a SharePoint list and we do not want to delete record one by one.
Scenario-2: We want to delete the list and list already had cross the threshold limit and not allowing to delete list until records reaches under the threshold limit.
Following script demonstrates the steps to achieve the same
Step-1: Navigate to SharePoint site where list is present.
Step-2: Open Inspect Element by clicking F12 in any browser. Open console tab.
Step-3: Copy and Paste following code in console, Insert the list name (wherever ‘ListName’ is mentioned) and run the command.
// —————————————
var clientContext;
var website;
var oList;
var cnt = 0;
// Make sure the SharePoint script file ‘sp.js’ is loaded before your code runs.
SP.SOD.executeFunc(‘sp.js’, ‘SP.ClientContext’, sharePointReady);
// Create an instance of the current context.
function sharePointReady() {
clientContext = SP.ClientContext.get_current();
website = clientContext.get_web();
oList = website.get_lists().getByTitle(‘ListName’);
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(‘1000’);
this.collListItem = oList.getItems(camlQuery);
clientContext.load(website);
clientContext.load(collListItem, ‘Include(Id)’);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded(sender, args) {
var listItemInfo = ”;
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
var ID = oListItem.get_id();
var oListItemDel = oList.getItemById(ID);
oListItemDel.deleteObject();
clientContext.executeQueryAsync(Function.createDelegate(this, this.onDeleteSucceeded), Function.createDelegate(this, this.onDeleteFailed));
console.log(ID + ” : Deleted”);
}
}
function onQueryFailed(sender, args) {
console.log(‘Request failed. ‘ + args.get_message() + ‘\n’ + args.get_stackTrace());
}
function onDeleteFailed(sender, args) {
console.log(‘Delete failed. ‘ + args.get_message() + ‘\n’ + args.get_stackTrace());
}
function onDeleteSucceeded(sender, args) {
cnt = cnt + 1;
console.log(‘Delete success : ‘ + cnt);
}
// —————————————
Note: Above script delete 1000 records at a time.
Related Article:
- How to update SharePoint’s Group Owner using PowerShell
- Get extract of files modified after particular date from SharePoint library or folder within library (PowerShell script)
- Delete all sharepoint list item using powershell
- SharePoint SPSiteDataQuery
- Window scroll event is not firing in SharePoint