SharePoint备份文件
stp文件:SharePoint的.stp文件
在做一个和SharePoint有关的项目时,由于对SharePoint的unfamiliar,所以客户发了几个后缀为.stp的文件将我纳闷了半天,不知为何物。
按常理,只知道.stp文件是3D 的一个标准交换文件,需要用AutoCAD、PRO/E或SW等三维处理软件来打开,但看客户给我的文件大小非常小,应该不可能是3D文件啊。后来Avrin告诉我stp文件是Sharepoint里的Template file时我才恍然大悟,孤陋寡闻,惭愧啊....
这里的stp文件果然是SharePoint里的模板文件,用于将SharePoint里的List或site等结构保存下来以便移植到别的SharePoint上。实际上这个stp文件是个Cab文件,可以强行更改其后缀为.cab,直接打开或解压缩后可以看到里面的文件,其中有个manifest.xml的XML文件。关于这个的具体描述在另外一篇文章《SharePoint Customization: Using WSS List Templates in SPS Areas》里说得很详细,可以参考。
一、导出stp文件
1、打开SharePoint里的网站,在"Site Actions"下选择"Site Settings",然后选择Look and Feel栏下的"Save site as template"即可;
2、在SharePoint里打开一个List,点击"Settings"下的"List Settings",在“Permissions and Management”下点击"Save List as template"即可。
二、导入stp文件创建Site及List
打开SharePoint的Home页,点击Site Actions —> Site Settings —> Modify All Site Settings,在Galleries下选择Site templates或List templates进入Site Template Gallery页或List Template Gallery页,将相应的Site stp文件或List stp文件上传到Gallery。然后在新建网站或新建List时就可以选择上传的木板进行创建。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.IO; using Microsoft.SharePoint;
using CodeArt.SharePoint;
using CodeArt.SharePoint.CamlQuery; namespace BackFile
{
class Program
{
static void Main(string[] args)
{ string SPSiteUrl = ConfigurationManager.AppSettings["SPSiteUrl"];
string SPWebUrl = ConfigurationManager.AppSettings["SPWebUrl"];
string SPDocumentLibraryName = ConfigurationManager.AppSettings["SPDocumentLibrary"];
string BackupPath = ConfigurationManager.AppSettings["BackupPath"]; SPSite site = null;
SPWeb rootWeb = null; SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (site = new SPSite(SPSiteUrl))
{
using (rootWeb = site.OpenWeb(SPWebUrl))
{ }
}
}); SPDocumentLibrary doclib = (SPDocumentLibrary)rootWeb.Lists[SPDocumentLibraryName];
MakeFile(doclib.RootFolder, BackupPath);
Console.ReadLine(); } public static void MakeFile(SPFolder folder, string BackupPath)
{
Console.WriteLine("Current Folder:" + folder.Url); string folderPath = BackupPath + "\\" + folder.Url;
if (!System.IO.Directory.Exists(folderPath))
{
Console.WriteLine("Create Folder:" + folder.Url);
Directory.CreateDirectory(folderPath);
} foreach (SPFile file in folder.Files)
{
Console.WriteLine("Create File:" + folderPath + "\\" + file.Name);
byte[] bs = file.OpenBinary();
File.Create(folderPath + "\\" + file.Name);
} foreach (SPFolder subfolder in folder.SubFolders)
{
MakeFile(subfolder, BackupPath);
} }
}
}
  
SharePoint备份文件的更多相关文章
- SharePoint大容量文档库整体搬迁的解决方案(SharePoint document library migration)
		今天客户提出了一个需求,有一个文档库,里面有500多个文档,有word,excel还有pdf文档,想要把文档搬迁到一个新的站点上面去,新的文档库和原文档库有这同样的列,客户要求文档在迁移过程中属性要带 ... 
- [Sharepoint]备份 迁移 还原
		在sharepoint 的备份当中,一般分为一个sharepoint 站点的备份和sharepoint 整个站点的备份.我们可以用sharepoint designer 进行备份, 也可以用 stsa ... 
- 如何迁移SharePoint 2010至新的站点
		SharePoint使用非常方便,但是有一个问题获取会困扰大家,就是SharePoint的备份和迁移.下面我们来看一下如何把SharePoint迁移至别的SharePoint站点. 1. 使用网站集管 ... 
- SharePoint 2010 升级到2013时间 为了确保用户可以连接,但无法改变升级数据
		SharePoint 2010 升级到2013时间 为了确保用户可以连接,但无法改变升级数据 我总结的步骤 红色请注意它们的含义. 步骤1:连接到SQL DBS 上的SharePoint 2010数据 ... 
- 【SharePoint 2010】SharePoint 2010开发方面的课堂中整理有关问题
		SharePoint 2010开发方面的课堂中整理有关问题陈希章 ares@xizhang.com1. 对于SharePoint的体系结构不甚清楚,觉得有点乱了解了就不会觉得乱了,请理解1) 场服务 ... 
- 使用stsadm.exe工具实现SharePoint网站备份还原
		一.过程描述: 首先在源站点机器上用stsadm.exe备份网站集,讲备份文件拷贝到目标服务器(也可直接在备份时配置备份路径为目标机器路径),然后执行还原操作:首先新建网站集,然后用SharePoin ... 
- SharePoint 2013备份方法整理
		关于SharePoint备份 SharePoint的备份是一个数据副本,主要用于在系统出现故障后还原和恢复该数据. 备份的工具主要有以下几种(写的不全,欢迎补充.) SharePoint管理中心的备份 ... 
- SharePoint 2010开发方面的课堂中整理有关问题
		SharePoint 2010开发方面的课堂中整理有关问题 这是我这几天在做一个SharePoint开发的课程的时候,大家提出的一些问题,及我的解答,分享给更多的朋友参考一下 这个文档,也可以在这里下 ... 
- 如何清除SharePoint Server 配置缓存
		日常运维中您可能需要清除SharePoint 2010/2013/2016中的过期配置缓存.例如,有时计时器作业往往会卡住,并在这种情况下清除缓存.您可以手动清除SharePoint配置缓存或者使用P ... 
随机推荐
- [js高手之路] 跟GhostWu一起封装一个字符串工具库-扩展camelize与dasherize方法(3)
			在此之前,我们已经完成了4个方法: trimLeft, trimRight, trim, capitalize 本文,我们扩展驼峰式与下划线转化这两个对称的方法 camelize: 把空格,下划线,中 ... 
- 安装mvn,jdk,rocketmq
			附一个rocketmq各语言客户端仓库:https://github.com/apache/incubator-rocketmq-externals,我用go客户端,但是master分支的go没有pr ... 
- python对字符串分割和截取的方法
			对字符串的截取我们可以使用split方法,split是分割的按照不同分隔符来分割 现在我们想对正则匹配的内容进行截取 我们先看一下split怎么实现字符串分割 >>> b='aa ... 
- c语言 创建链表
			#include "malloc.h" #include "stdio.h" #define LEN sizeof(struct student) typede ... 
- Catalan Number 卡特兰数
			内容部分来自以下博客: Cyberspace_TechNode 邀月独斟 一个大叔 表示感谢! Catalan数的引入: 一个长度为2N的序列,里面有N个+1,N个-1 它的任意前缀和均非负,给定N, ... 
- 高级java高并发,高性能,分布式,高可用,负载均衡,系统架构实战
			java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战 视频课程包含: ... 
- 为什么Java字符串是不可变对象?
			转自 http://developer.51cto.com/art/201503/468905.htm 本文主要来介绍一下Java中的不可变对象,以及Java中String类的不可变性,那么为什么Ja ... 
- mysql数据库优化之开启慢查询日志
			进入mysql数据库,使用 show variables like 'slow_query_log'; 查看是否开启了慢查询日志 value值为OFF,则慢查询日志没有开启,在开启慢查询日志之前,我们 ... 
- Java后台开发必备软件(windows环境下)
			一.必备软件 1.Jdk,推荐下载最新版2.Ide,推荐 IntelliJ IDEA3.服务器,如 tomcat / jetty4.数据库终端界面,推荐 Navicat Premium(自行破解),5 ... 
- DispatcherTimer和Timer(计时器)
			System.Windows.Threading.DispatcherTimer dTime; System.Timers.Timer timer; public Main ... 
