简体   繁体   中英

SP2010 Delete list items after CAML Query

I want to delete list items from my CAML query but currently cannot using a foreach loop. What would be the best way to delete the items after the CAML query?

$Query = New-Object Microsoft.SharePoint.SPQuery
            $Query.Query = "
                      <Where>
                       <Leq>
                        <FieldRef Name='Created' />
                         <Value Type='DateTime'>
                           <Today OffsetDays='-30' />
                         </Value>
                       </Leq>
                      </Where>
                        <OrderBy>
                          <FieldRef Name='Created' Ascending='False' />
                       </OrderBy>"

            #Get List Items matching the query
            $ListItems = $oList.GetItems($Query)

            write-host "Number of items retrieved:" $ListItems.Count;


            foreach($ListItem in $ListItems)
            {
                write-host "Deleting"+ $listItem.ID + $listItem.Name + $listItem["Created"];
                #$ListItem.delete();

            }

Please delete list item in foreach loop like this:

$spweb = get-spweb http://sp/sites/devtest 
$oList = $spweb.Lists.TryGetList("List2") 
if ($oList) 
{ 
   $query = New-Object Microsoft.SharePoint.SPQuery
   $query.Query = "
                      <Where>
                       <Leq>
                        <FieldRef Name='Created' />
                         <Value Type='DateTime'>
                           <Today OffsetDays='-30' />
                         </Value>
                       </Leq>
                      </Where>
                        <OrderBy>
                          <FieldRef Name='Created' Ascending='False' />
                       </OrderBy>"

   $ListItems = $oList.GetItems($Query)

   Write-host "Number of items retrieved:" $ListItems.Count;

    foreach($item in $ListItems)
   {
     Write-Host "Deleting Item - $($item.Id)"
     $oList.GetItemById($item.Id).delete()
   }
} 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM