param($url="http://fdi-sp2013-1:8080/sites/testJS_publishing2", $listTitle="testDelete") clear; if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) { Add-PSSnapin "Microsoft.SharePoint.PowerShell" } #get the spweb $web = Get-SPWeb -Identity $url #get list by title $list = $web.Lists[$listTitle]; $list.Title #your caml query $query = New-Object -TypeName Microsoft.SharePoint.SPQuery $rowLimit= 100 $query.ViewXml = "$($rowLimit)"; $items = $list.GetItems($query) #number items "items.Count : $($items.Count)" #the number of items that will be deleted $batch = ""; foreach($item in $items) { $batch +="$($list.ID)$($item.Id)$($item["FileRef"])Delete" $item.Id $item["FileRef"] } $batch +="" #proceed to deletion $web.ProcessBatchData($batch); $web.Dispose() Write-Host "list is empty bu warnig limit in code rowLimit $($rowLimit)"