Share via


PowerShell Script to delete items from SharePoint List

Dear All

Kindly find below the script to delete items from SharePoint list using CAML Query.

The outcome of the below script is to delete items that are created 7 days before:

Add-PSSnapin Microsoft.SharePoint.PowerShell [System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")$web = Get-SPWeb "YOUR SHAREPOINT SITE"$list = $web.Lists["YOUR LIST NAME"]$DeleteBeforeDate = [Microsoft.SharePoint.Utilities.SPUtility]::CreateISO8601DateTimeFromSystemDateTime([DateTime]::Now.AddDays(-7))$caml='<Where> <Lt> <FieldRef Name="Created" /><Value Type="DateTime">{0}</Value> </Lt> </Where> ' -f $DeleteBeforeDate$query=new-object Microsoft.SharePoint.SPQuery$query.Query=$caml$col=$list.GetItems($query)Write-Host $col.Count$col | % {$list.GetItemById($_.Id).Delete()}$web.Dispose()

Below you will find the PowerShell file (CorrectOne.ps1) and batch file to run the PowerShell file:

https://sayedali-public.sharepoint.com/_layouts/15/images/icgen.gifDeleteScript.rar

Add-PSSnapin Microsoft.SharePoint.PowerShell[System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")$web = Get-SPWeb "YOUR SHAREPOINT SITE"$list = $web.Lists["YOUR LIST NAME"]$DeleteBeforeDate = [Microsoft.SharePoint.Utilities.SPUtility]::CreateISO8601DateTimeFromSystemDateTime([DateTime]::Now.AddDays(-7))$caml='<Where> <Lt> <FieldRef Name="Created" /><Value Type="DateTime">{0}</Value> </Lt> </Where> ' -f $DeleteBeforeDate$query=new-object Microsoft.SharePoint.SPQuery$query.Query=$caml$col=$list.GetItems($query)Write-Host $col.Count$col | % {$list.GetItemById($_.Id).Delete()}$web.Dispose()
Add-PSSnapin Microsoft.SharePoint.PowerShell[System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")$web = Get-SPWeb "YOUR SHAREPOINT SITE"$list = $web.Lists["YOUR LIST NAME"]$DeleteBeforeDate = [Microsoft.SharePoint.Utilities.SPUtility]::CreateISO8601DateTimeFromSystemDateTime([DateTime]::Now.AddDays(-7))$caml='<Where> <Lt> <FieldRef Name="Created" /><Value Type="DateTime">{0}</Value> </Lt> </Where> ' -f $DeleteBeforeDate$query=new-object Microsoft.SharePoint.SPQuery$query.Query=$caml$col=$list.GetItems($query)Write-Host $col.Count$col | % {$list.GetItemById($_.Id).Delete()}$web.Dispose()

See Also

Other Languages

This article is also available in the following languages: