设为首页 收藏本站
查看: 816|回复: 0

[经验分享] SharePoint 服务器端对象迁移文件夹

[复制链接]

尚未签到

发表于 2019-2-5 08:43:58 | 显示全部楼层 |阅读模式
  最近有个需求,写个定时迁移文件夹的小程序,因为计时器任务比较繁琐,所以选择了控制台程序。然后,用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();
  以上便是整个功能的详细介绍,希望能够为有需要的人带来一定的帮助。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-672015-1-1.html 上篇帖子: VDI序曲二十六 Office 2010 Web App集成SharePoint2010-wolfgang 下篇帖子: windows 2003集群中安装sharepoint 2007配置时用户名无效
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表