首页 > 代码库 > SharePoint 2013/2010 在一个列表或文档库内移动列表项,文档和目录位置而保持last modify by 等系统字段保持不变
SharePoint 2013/2010 在一个列表或文档库内移动列表项,文档和目录位置而保持last modify by 等系统字段保持不变
本文讲述SharePoint 2013/2010 在一个列表或文档库内移动列表项。文档和目录位置而保持last modify by 等系统字段保持不变的解决方式。
近期遇到客户一个需求,在一个列表或文档库内移动列表项,文档和目录位置而保持last modify by 等系统字段保持不变。
研究出来了。不敢独享。特此共享出来给同鞋们做參考:
using Microsoft.SharePoint; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MoveSPListItemTool { class Program { static void Main(string[] args) { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite("http://SP2013/")) { site.AllowUnsafeUpdates = true; using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists["Documents"]; var itemNeedToMove = list.GetItemById(7); MoveItemTo(itemNeedToMove, "TestDocumentSet"); } } }); Console.WriteLine("Done!"); Console.ReadKey(); } // Path 參数实例: Folder1, Folder1/Folder2 public static void MoveItemTo(SPListItem item, string path) { switch (item.FileSystemObjectType) { case SPFileSystemObjectType.Folder: var newFolder = string.Format("{0}/{1}/{2}", item.ParentList.RootFolder.Url, path, item.Folder.Name); item.Folder.MoveTo(newFolder); break; case SPFileSystemObjectType.File: if (item.File == null) { var file = item.Web.GetFile(item.Url); var newFilePath = string.Format("{0}/{1}/{2}_.000", item.ParentList.RootFolder.Url, path, item.ID); file.MoveTo(newFilePath); } else { var file = item.Web.GetFile(item.Url); var newFilePath = string.Format("{0}/{1}/{2}", item.ParentList.RootFolder.Url, path, item.File.Name); file.MoveTo(newFilePath); } break; } } } }
SharePoint 2013/2010 在一个列表或文档库内移动列表项,文档和目录位置而保持last modify by 等系统字段保持不变
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。