powershell - 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();
}
解决方案
请像这样删除 foreach 循环中的列表项:
$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()
}
}
推荐阅读
- python - TensorFlow TPU | 变量的初始化器来自控制流构造
- sql-server - Django 数据库设置 SERVER 关键字 SQL Server
- makefile - 如何优化 Makefile
- angularjs - 使用 ng-click 和 href="javascript:void(0)" 复制锚标记的链接地址
- python - 从交互式地图中抓取数据
- validation - Haskell - 在验证后继续下一步
- c# - DataGridTemplateColumn 到自动生成的列
- python - 访问具有边缘的节点到igraph python中某个感兴趣的节点
- python - Django:无法在模板中呈现上传的图像
- php - 带有like子句的mysql if语句返回null