# Variables
$sourceSiteUrl = "https://[yourtenant].sharepoint.com/sites/SrcSite"
$destinationSiteUrl = "https://[yourtenant].sharepoint.com/sites/DestSite"
$libraryName = "TempDocs"
$tenantId = "t6yb14b9-dc5c-44fe-a920-7e6bb7e310a6"
$clientId = "u7i4a357-50a0-4ce9-99f8-79fc70fc8478"
# Connect to source site
Connect-PnPOnline -Url $sourceSiteUrl -Tenant $tenantId -Interactive -ClientId $clientId
# Get all files in the library
$files = Get-PnPListItem -List $libraryName | Where-Object { $_.FieldValues.FileRef -ne $null }
# Connect to Destination Site
Connect-PnPOnline -Url $destinationSiteUrl -Tenant $tenantId -Interactive -ClientId $clientId
# Ensure destination folder exists
$destinationLibraryPath = "$destinationSiteUrl/$libraryName"
if (-not (Test-PnPListItem -List $libraryName -Identity "$libraryName")) {
Write-Host "Creating destination folder: $destinationLibraryPath"
New-PnPListItem -List $libraryName -Values @{"Title" = $libraryName }
}
# Copy each file
foreach ($file in $files) {
$fileUrl = $file.FieldValues.FileRef
$targetUrl = "$destinationLibraryPath"
Write-Host "Copying $fileUrl to $targetUrl"
Copy-PnPFile -SourceUrl $fileUrl -TargetUrl $destinationLibraryPath -OverwriteIfAlreadyExists -Force
}
# Disconnect
Disconnect-PnPOnline
No comments:
Post a Comment