Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ###################### DELETE FILES IN BATCH
- $w = Get-Spweb http://win2008r2sp2010.w2k8.dev/pressclippings
- $list = $w.Lists.TryGetList("Documents")
- $query = New-Object Microsoft.SharePoint.SPQuery;
- $query.ViewAttributes = "Scope='Recursive'";
- $query.RowLimit = 1000;
- $cmdFormat = " <Method ID=`"Del{0}`">
- <SetList Scope=`"Request`">" + $list.ID + "</SetList>`
- <SetVar Name=`"Cmd`">Delete</SetVar>`
- <SetVar Name=`"ID`">{0}</SetVar>`
- <SetVar Name=`"owsfileref`">{1}</SetVar>
- </Method>`r`n"
- $len = 0;
- do {
- $listItems = $list.GetItems($query)
- $len = $listItems.Count
- if($len -gt 0){
- $cmdString = "<?xml version=`"1.0`" encoding=`"UTF-8`"?>`r`n<Batch OnError=`"Continue`">`r`n"
- $listItems|%{ $cmdString += [string]::Format($cmdFormat, $_.ID, $_[[Microsoft.Sharepoint.SPBuiltInFieldId]::FileRef]) }
- $cmdString += "</Batch>`r`n"
- [Void]$w.ProcessBatchData($cmdString)
- Write-Host "Deleted $($len) items"
- }
- } while($len -gt 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement