如何将SharePoint列表和库从一个站点复制到另一个站点(仅复制结构)
以下是几种仅复制结构、设置和列(不含数据)的可行方法:
方法1:使用SharePoint自带的模板功能
- 打开源站点(
https://myCompany/sites/mySite1)的目标列表/库 - 点击顶部齿轮图标打开设置,选择列表设置(库对应库设置)
- 在「权限和管理」区域,点击将列表另存为模板(库为将文档库另存为模板)
- 填写模板名称和描述,务必取消勾选「包含内容」,点击确定保存模板
- 切换到目标站点(
https://myCompany/sites/mySite2),点击设置 > 网站内容 > 新建 > 应用 - 在应用列表里找到刚才保存的模板,输入新列表/库名称,完成创建
方法2:PowerShell批量操作脚本
如果需要批量复制多个列表/库,用PowerShell效率更高,示例脚本如下:
# 连接源站点 Connect-PnPOnline -Url "https://myCompany/sites/mySite1" -Interactive # 获取目标源列表/库(替换为你的列表名称) $sourceList = Get-PnPList -Identity "源列表名称" -Includes Fields, ContentTypes, DefaultView, Views # 切换到目标站点 Connect-PnPOnline -Url "https://myCompany/sites/mySite2" -Interactive # 创建同类型的新列表/库 $newList = New-PnPList -Title "新列表名称" -Template $sourceList.BaseTemplate # 复制自定义字段(排除系统默认字段) foreach($field in $sourceList.Fields) { if(!$field.Hidden -and !$field.ReadOnlyField -and $field.InternalName -notin @("Title", "Created", "Modified", "Author", "Editor")) { Add-PnPField -List $newList -Field $field } } # 复制自定义内容类型(排除系统默认类型) foreach($ct in $sourceList.ContentTypes) { if($ct.Name -notin @("Item", "Document")) { Add-PnPContentType -List $newList -ContentType $ct } } # 复制自定义视图 foreach($view in $sourceList.Views) { if($view.Title -ne $sourceList.DefaultView.Title) { Add-PnPView -List $newList -Title $view.Title -ViewFields $view.ViewFields -Query $view.ViewQuery } }
注意:运行前需安装PnP PowerShell模块,且账号需拥有两个站点的编辑权限。
方法3:SharePoint Designer(经典体验适用)
- 打开SharePoint Designer,连接到源站点
- 左侧导航选择列表和库,找到目标列表/库后右键点击复制
- 切换到目标站点,右键点击列表和库区域,选择粘贴
- 在粘贴选项中选择仅复制结构,确认后完成创建
内容的提问来源于stack exchange,提问作者faujong
相关产品推荐
相关产品推荐

