开发者社区> 霖雨001> 正文

SharePoint 服务器端对象迁移文件夹

简介:   最近有个需求,写个定时迁移文件夹的小程序,因为计时器任务比较繁琐,所以选择了控制台程序。然后,用windows的计划任务执行,也许,会有广大朋友需要类似的功能,简单的分享一下代码逻辑,功能非常简单,希望大家不要见笑。
+关注继续查看

  最近有个需求,写个定时迁移文件夹的小程序,因为计时器任务比较繁琐,所以选择了控制台程序。然后,用windows的计划任务执行,也许,会有广大朋友需要类似的功能,简单的分享一下代码逻辑,功能非常简单,希望大家不要见笑。
  //提升权限代码

SPSecurity.RunWithElevatedPrivileges(delegate()
{
  //提升权限的核心代码
});

  //创建网站集和网站对象

using (SPSite site = new SPSite(siteUrl))
{
  using (SPWeb web = site.OpenWeb(webUrl))
  {
  }
}

  //允许非安全更新,否则客户端调用可能回报不安全更新操作的错误

web.AllowUnsafeUpdates = true;
web.AllowUnsafeUpdates = false;

  //获取文档库和文件夹 

SPList sDoclib = web.Lists[sourceDoclib];
SPList tDoclib = web.Lists[transferDoclib];
SPListItemCollection items = sDoclib.Folders;

  //遍历文件夹,并迁移到目标文档库 

foreach (SPListItem item in items)
{
  SPFileCollection files = item.Folder.Files;
  item.Folder.MoveTo(web.Url + "/" + tDoclib.RootFolder.Url.ToString() + "/" + item.Folder.Name);
}

  特别要说的是MoveTo的方法,如果要保留源文档库的内容,只是复制也可以用CopyTo。这两个方法既可以对SPFolder使用,也可以对SPFile使用,参数是目标的地址。记住,参数一定是地址,比如源文件是http://url/sourceLib/file.txt,目标文件就需要是http://url/transferLib/file.txt。如果是文件夹,目标地址就可以是http://url/transferFolder就可以了。

  整个功能很简单,其间注意事项有:

  • Net Framework的版本要和SharePoint版本相对应
  • 控制台程序要以64位程序为目标平台
  • 提升权限进行操作,以防止操作没有权限
  • 允许不安全更新,更新完毕记得关闭这个设置
  • MoveTo和CopyTo方法的使用

  当然,除此之外,必要的异常处理和日志记录也是必须的,大家按照需求添加相关功能就可以了。我这里就简单的把日志记录在记事本中,方便查看了。

using System.IO;

  //写入日志代码,日志路径和生成的.exe文件在同一位置

StreamWriter sw = new StreamWriter("log.txt");
sw.WriteLine("日志内容");
sw.Flush();
sw.Close();

  以上便是整个功能的详细介绍,希望能够为有需要的人带来一定的帮助。当然,如果高手飘过欢迎指点,不喜勿喷,多谢!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP读取客户端桌面路径
SAP读取WINDOWS客户端桌面路径
11 0
使用Fiddle对浏览器从服务器端接收到的SAP UI5库文件源代码进行修改
Sometimes for trouble shooting or research purpose, you would like to make small changes on framework js file, and test how your application would react to those changes. For example I would like to add a new line for debugging purpose before line 70.
44 0
+关注
霖雨001
霖雨,微软最有价值专家SharePoint方向,CSDN学院讲师。2010年开始致力于SharePoint相关技术研究,精通SharePoint 环境搭建、架构、实施、开发、运维、排错等技术。
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载
相关实验场景
更多