我正在编写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个项目的其中一个网站上运行。但现在不是。需要帮助来调试它。