SharePoint列表导入/导出命令

在使用SharePoint的时候我们常常需要做这样一个操作:把某个列表(或文档库)从一个网站转移到另一个网站上去。

比较常见的做法是,把这个列表存为模板文件,然后再在新的网站位置创建一遍。但这种方法比较麻烦,步骤繁琐,而且还受网站模板类型的限制。

SharePoint的对象模型里提供了导入导出内容的功能,其粒度可达列表条目级。

stsadm命令中内置的“import/export”操作就是使用的这套API,但只能操作网站级别的内容。

为了能够便捷的移动列表内容,或者对某个指定的列表进行归档,我开发了两个stsadm命令的扩展操作。

举例:我想把“http://site1”网站里的列表“ABCList”导出并导入到“http://site2”网站里,就可以用以下的命令完成:

stsadm -o exportlist -siteurl http://site1 -listname ABCList -filename d:\abclist.cmp (导出列表到一个文件)

stsadm -o importlist -siteurl http://site2 -filename d:\abclist.cmp (把一个文件导入到SharePoint网站里,恢复成一个列表)

语法说明:

列表导出操作(exportlist)

stsadm -o exportlist
-siteurl <SharePoint Site URL>
-listname <List Display Name>
-filename <Content Migration Package File Name>
[-overwrite]
[-nocontent]

:-nocontent:只导出列表结构,不包含列表内容。

列表导入操作(importlist)

stsadm -o importlist
-siteurl <SharePoint Site URL>
-filename <Content Migration Package File Name>
[-retainobjectid]
[-originalinfo <all|none|systemaccount>]

:-retainobjectid:导入回导出位置,可用在类似备份还原的场景下。

-originalinfo :"all"为保留一切原始信息,即导入的数据保持原修改时间和创建者信息。"none"为不保留上述信息。"systemaccount"为修改创建者信息为系统帐户。此选项默认为"all"。

此扩展命令以wsp解决方案包的形式安装部署,下载地址:

http://www.live-share.com/files/302411/xc_stsadmextension.zip.html

KNOWN ISSUE:我不知道怎么通过这套API把条目权限设置也保存下来,谁能给些建议么?(我尝试了IncludeSecurity属性,可是貌似不起作用。)

相关阅读:

如何扩展stsadm命令

Dive in SharePoint Content Deployment/Migration API

如何制作SharePoint解决方案包

SharePoint解决方案包生成工具WSPBuilder

你可能感兴趣的:(html,数据结构,SharePoint)