想要检查是否有人知道更有效的文件更新方式。
使用CAML查询从库中返回文档。返回的文档需要未声明为记录,签出,更新,签入,然后声明为记录。
在下面的脚本中,您将注意到我必须执行多个.GetItems调用。如果没有这些调用,则会在管理帐户修改该项目的每个操作后返回错误。
$spQuery.Query = $caml
do
{
$listItems = $list.GetItems($spQuery)
$spQuery.ListItemCollectionPosition = $listItems.ListItemCollectionPosition
foreach($item in $listItems)
{
$itemID = $item.id
$recordsmanagement::UndeclareItemAsRecord($item)
$item = $list.GetItemById($itemID)
$item.File.CheckOut()
$item["Some Field"]=$nSomeUpdate
$item.Update()
$item = $list.GetItemById($item.id)
$item.File.CheckIn("Content Update")
$item = $list.GetItemById($item.id)
$recordsmanagement::DeclareItemAsRecord($item)
}
}
while ($spQuery.ListItemCollectionPosition -ne $null)