将List Items移动到文件夹时出错 - 使用0参数调用“UpdateOverwriteVersion”的异常

时间:2015-04-26 12:46:10

标签: powershell sharepoint-2013 sharepoint-list

我正在编写PowerShell脚本以将List项目移动到文件夹中。除了一个问题,代码几乎完成。每次为每个项目抛出相同的异常“ System.Management.Automation.MethodInvocationException:Exception calling”Up dateOverwriteVersion“with”0“参数:无法打开”Shared Documents / Document.ppt.zip“:没有这样的  文件或文件夹。“如果文件夹已经存在,它不会抛出此错误。我的代码非常简单。我正在检索按日期创建的项目的年份和月份,然后我创建年份和月份文件夹(内部年份文件夹)使用以下代码:

$yrfolder = $list.AddItem($list.RootFolder.url,[Microsoft.SharePoint.SPFileSystemObjectType]::Folder,$year)
    $yrfolder["Title"] = $year
    $yrfolder["Modified"] = "12/31/$year 00:00:00 AM"
    $yrfolder["Created"] = "12/31/$year 00:00:00 AM"
    $yrfolder["Editor"] = $yrfolder["Author"]        
    $yrfolder.Update()

类似地,我在year文件夹中创建month文件夹,然后在其中移动项目,如下所示:

$moveToPath = $web.Url+"/"+$monthfolder.Url
$moveToPath += "/" + $item.ID
$web.GetFile($item.Url).MoveTo($moveToPath)
$item["Modified"] = $modified #replacing the original value of item metadata 
$item["Editor"] = $editor
$item["Modified By"] = $editor
$item.UpdateOverwriteVersion() # throws error here

但是同样的代码在我成功移动了5000个项目的其中一个网站上运行。但现在不是。需要帮助来调试它。

0 个答案:

没有答案