当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 复制 SharePoint Online 中的文件夹?

作者:精品下载站 日期:2024-12-14 14:59:24 浏览:15 分类:玩电脑

如何使用 PowerShell 复制 SharePoint Online 中的文件夹?


要求:使用 PowerShell 在 SharePoint Online 中复制文件夹。

如何在 SharePoint Online 中复制文件夹?

在 SharePoint Online 中复制文件夹是一种快速复制内容并节省创建新网站或库时间的有用方法。如果您需要复制 SharePoint Online 中的文件夹,PowerShell 可以使该过程比使用标准 SharePoint 用户界面更容易。在本文中,我们将向您展示如何使用 PowerShell 在 SharePoint 网站之间和网站内复制文件夹。

在 SharePoint Online 现代体验中复制文件夹非常简单:

  1. 导航到您的 SharePoint Online 文档库 >> 选择要复制的文件夹。
  2. 在工具栏中,单击“复制到”按钮。

    [玩转系统] 如何使用 PowerShell 复制 SharePoint Online 中的文件夹?

  3. 选择要复制文件夹的目标位置。您可以选择相同的文档库/网站,也可以选择不同的网站集或子网站。使用“浏览站点”查看可以复制到的站点的完整列表。

    [玩转系统] 如何使用 PowerShell 复制 SharePoint Online 中的文件夹?

  4. 单击“新建文件夹”并为副本提供名称,然后单击“复制此处”按钮开始复制文件夹。

    [玩转系统] 如何使用 PowerShell 复制 SharePoint Online 中的文件夹?

这会将文件夹及其所有文件和子文件夹复制到选定的目标。请注意,“复制到”在 SharePoint Online 经典体验中不可用。虽然上述在 SharePoint Online 中复制文件夹的方法很简单,但在许多情况下使用 PowerShell 是最有效和灵活的方法。

提示:您还可以使用“文件资源管理器”视图在 SharePoint Online 中复制文件夹!

SharePoint Online:使用 PowerShell 复制文件夹

如果您需要复制 SharePoint Online 中的文件夹,PowerShell 提供了一种简单的方法来执行此操作。让我们使用 PowerShell 在 SharePoint Online 中复制一个文件夹(请记住,您需要两个网站的权限才能复制该文件夹):


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
 
#Function to Copy a Folder
Function Copy-SPOFolder([String]$SiteURL, [String]$SourceFolderURL, [String]$TargetFolderURL)
{
    Try{
        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
     
        #Copy the Folder
        $MoveCopyOpt = New-Object Microsoft.SharePoint.Client.MoveCopyOptions
        [Microsoft.SharePoint.Client.MoveCopyUtil]::CopyFolder($Ctx, $SourceFolderURL, $TargetFolderURL, $MoveCopyOpt)
        $Ctx.ExecuteQuery()
 
        Write-host -f Green "Folder Copied Successfully!"
    }
    Catch {
    write-host -f Red "Error Copying the Folder!" $_.Exception.Message
    }
}
 
#Set Config Parameters
$SiteURL="https://Crescent.sharepoint.com/sites/Marketing"
$SourceFolderURL="https://Crescent.sharepoint.com/sites/Marketing/Shared Documents/2017"
$TargetFolderURL="https://Crescent.sharepoint.com/sites/Marketing/Shared Documents/2019"
 
#Get Credentials to connect
$Cred= Get-Credential
 
#Call the function to Copy the Folder
Copy-SPOFolder $SiteURL $SourceFolderURL $TargetFolderURL

我们还可以使用此脚本将文件夹复制到另一个库 SharePoint Online。这是另一篇在 SharePoint Online 中移动文件夹的文章:SharePoint Online PowerShell 移动文件夹

使用 PnP PowerShell 复制 SharePoint Online 中的文件夹

让我们使用 PnP PowerShell 将文件夹从一个文件夹复制到 SharePoint Online 中的另一个文件夹:


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
$SourceFolderURL= "Shared Documents/2017"
$TargetFolderURL = "Shared Documents/2018"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Copy Folder to same library
Copy-PnPFile -SourceUrl $SourceFolderURL -TargetUrl $TargetFolderURL -Force

此 PowerShell 脚本将给定文件夹及其子文件夹和文件复制到目标。同样,您甚至可以使用此方法将文件夹复制到不同的网站集!


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
$SourceFolderURL= "Shared Documents/2017"
$TargetFolderURL = "/Sites/Sales/Shared Documents/2017"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Copy Folder to different site collection
Copy-PnPFile -SourceUrl $SourceFolderURL -TargetUrl $TargetFolderURL -Force 

“Copy-PnPFolder”cmdlet 也执行相同的操作。如果要将文件夹从本地计算机复制到 SharePoint Online,请使用:如何使用 PowerShell 将文件夹上传到 SharePoint Online?

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯