SharePoint Online: mover un archivo entre bibliotecas de documentos usando PowerShell
Requisito: SharePoint Online PowerShell para mover archivos de una biblioteca a otra.
¿Cómo mover archivos en SharePoint Online?
¿Está buscando una forma de mover archivos entre sitios de SharePoint Online? Quizás necesite mover un archivo de una biblioteca de documentos a su área de Archivos. ¿O tal vez necesitas mover una gran cantidad de archivos a la vez?
En cualquier caso, aquí se explica cómo mover archivos entre bibliotecas de documentos en SharePoint Online como usuario final:
- Navegue a su biblioteca de documentos de SharePoint Online.
Seleccione la casilla de verificación junto a los archivos que desea mover >> Haga clic en "Mover a" en la barra de comandos. (Haga clic derecho en un documento o haga clic en el icono de puntos suspensivos y elija "Mover a" como método alternativo).
-
Esto abre el panel de información a la derecha. Seleccione la biblioteca de destino a la que desea mover su archivo. Puede seleccionar cualquier carpeta de la biblioteca actual, cualquier otra biblioteca del sitio actual o incluso una biblioteca de diferentes colecciones de sitios.
Elija la ubicación de destino para mover el documento y haga clic en el botón "Mover aquí" para comenzar a mover el archivo. También puede crear una nueva carpeta en el destino haciendo clic en el icono de carpeta en la esquina superior derecha.
Verá el mensaje "Mover" en la barra de herramientas y su archivo se moverá momentáneamente del sitio de origen al sitio de destino seleccionado. Este método puede transferir archivos entre bibliotecas de documentos de SharePoint o mover archivos entre colecciones de sitios, incluido el propio OneDrive. Si no ve un sitio en la lista de destino, es posible que el script personalizado no esté habilitado en el sitio de destino. ¡Es un requisito previo para la copia entre sitios! Entonces, habilítelo desde las credenciales de administrador de SharePoint.
Cabe mencionar que esta característica no está disponible en la experiencia clásica de SharePoint. Aunque puede mover archivos con la “Vista de Explorador/Explorador de archivos” en el Explorador de Windows, le faltará el historial de versiones (solo se copiará la última versión), metadatos personalizados, etc.
¿Cómo arrastro y muevo archivos en SharePoint?
¿Sabías que puedes mover archivos y carpetas enteras simplemente arrastrando y soltando? Puede mover varios archivos seleccionándolos, arrastrándolos y soltándolos en cualquier carpeta en el mismo nivel o en un nivel diferente en la ruta de navegación.
¡Veamos cómo usar PowerShell para mover archivos rápidamente!
Mover archivos de SharePoint Online con PowerShell
Aquí está SharePoint Online PowerShell para mover documentos entre sitios de SharePoint:
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#powershell script to move files in sharepoint online - Function
Function Move-SPOFile([String]$SiteURL, [String]$SourceFileURL, [String]$TargetFileURL)
{
Try{
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#sharepoint online powershell to move files
$MoveCopyOpt = New-Object Microsoft.SharePoint.Client.MoveCopyOptions
$Overwrite = $True
[Microsoft.SharePoint.Client.MoveCopyUtil]::MoveFile($Ctx, $SourceFileURL, $TargetFileURL, $Overwrite, $MoveCopyOpt)
$Ctx.ExecuteQuery()
Write-host -f Green "File Moved Successfully!"
}
Catch {
write-host -f Red "Error Moving the File!" $_.Exception.Message
}
}
#Set Config Parameters
$SiteURL="https://Crescent.sharepoint.com/sites/Marketing"
$SourceFileURL="https://Crescent.sharepoint.com/sites/Marketing/Shared Documents/Discloser Asia.doc"
$TargetFileURL="https://Crescent.sharepoint.com/Shared Documents/Discloser Asia.doc"
#Get Credentials to connect
$Cred= Get-Credential
#Call the function to Move the File
Move-SPOFile $SiteURL $SourceFileURL $TargetFileURL
Este PowerShell puede transferir archivos a otra biblioteca o entre colecciones de sitios.
PowerShell para mover archivos entre bibliotecas de documentos del mismo sitio:
Puede usar este PowerShell en SharePoint Online para mover archivos a otra biblioteca en un sitio.
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
$SiteURL="https://crescent.sharepoint.com"
$FileURL="/Project Documents/Active Users.xlsx" #Server Relative Path to the source File
$DestFileURL="https://crescent.sharepoint.com/Project Docs/Active.xlsx"
#Setup Credentials to connect
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Credentials
#Get the File
$File = $Ctx.Web.GetFileByServerRelativeUrl($FileURL)
#sharepoint online powershell move documents
$File.MoveTo($DestFileURL, [Microsoft.SharePoint.Client.MoveOperations]::Overwrite)
$Ctx.ExecuteQuery()
PnP PowerShell para mover un archivo en SharePoint Online
Aquí está el cmdlet PnP PowerShell Move-PnPFile para mover archivos entre carpetas en SharePoint Online: Este PowerShell mueve el archivo "Destinatario KSA.pdf" de "Documentos compartidos" a la subcarpeta "Activo" de la misma biblioteca.
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
$SourceURL= "Shared Documents/Recipient KSA.pdf"
$TargetURL = "Shared Documents/Active/Recipient KSA.pdf"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#move files in sharepoint online using powershell
Move-PnPFile -SiteRelativeUrl $SourceURL -TargetUrl $TargetURL -Force
De manera similar, puede mover un archivo a otra biblioteca o también mover un archivo entre colecciones de sitios. Tenga en cuenta que si el nombre de archivo especificado en la URL de destino ya existe, no realizará el movimiento. Utilice -OverwriteIfAlreadyExists para sobrescribir. El modificador "AllowSchemaMismatch" garantiza que la biblioteca de destino pueda tener un conjunto diferente de columnas de metadatos.
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
$SourceFileURL= "Branding/Technical Design.docx" #Site Relative URL from the current site
$TargetFileURL = "/sites/Purchase/Shared Documents" #Server Relative URL of the Target Folder
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#move file between sites in sharepoint online using powershell
Move-PnPFile -SiteRelativeUrl $SourceFileURL -TargetUrl $TargetFileURL -Force -AllowSchemaMismatch
Como nota al margen, necesita permisos suficientes para mover archivos en SharePoint Online. Además, mover un archivo puede romper los vínculos a ese archivo si se compartió o vinculó previamente en otros lugares. Si desea mover todos los archivos entre carpetas, use: SharePoint Online: mover todos los archivos de una carpeta a otra usando PowerShell



