Kashif Nizam Qureshi

Deleting List Items Through PowerShell Filtered Using CAML Query

Leave a comment

Use the following to delete items older than the specified date in CAML below and limiting to 500 all together.

$site = new-object Microsoft.SharePoint.SPSite("<a href="http://dhldepmweb01/PWA">http://dhldepmweb01/PWA</a>")

$web = $site.rootweb

$list = $web.Lists["Project Server Workflow Tasks"]

$caml='<Where>

<Leq>

<FieldRef Name="Created" />

<Value IncludeTimeValue="TRUE" Type="DateTime">2015-12-31T02:32:20Z</Value>

</Leq>

</Where>'

$query=new-object Microsoft.SharePoint.SPQuery

$query.Query=$caml | Write-Output

$items=$list.GetItems($query)

$listItemsTotal = $items.Count;

$count=0

#Limiting the deletion till 500 count

for($x=$listItemsTotal-1;$x -ge 0 -And $count -le 500; $x--)

{

$items[$x].Delete()

$count++

}

$web.Dispose()

$site.Dispose()
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s