SharePoint Online: cambiar el nombre de los archivos en la biblioteca de documentos usando PowerShell
Requisito: Cambie el nombre de los archivos en la biblioteca de documentos de SharePoint mediante PowerShell.
¿Cómo cambiar el nombre de un documento en SharePoint Online?
En SharePoint Online, puede cambiar el nombre de los archivos en el navegador o con PowerShell. En esta publicación de blog, lo guiaremos a través del proceso de cambiar el nombre de archivos en SharePoint Online. También demostraremos cómo cambiar el nombre de archivos en una biblioteca de documentos usando PowerShell, con algunos ejemplos de código que puede usar como referencia.
Cambiar el nombre de un archivo en la biblioteca de documentos de SharePoint Online es bastante sencillo. La forma más rápida de cambiar el nombre de un documento es:
- Navegue hasta la biblioteca donde está almacenado el archivo a cambiar de nombre.
Haga clic derecho en el archivo que desee y elija la opción "Cambiar nombre". (O seleccione el archivo >> Haga clic en el botón "Cambiar nombre" en la barra de herramientas)
También puede cambiar el nombre de un documento en SharePoint seleccionando el archivo >> Haga clic en tres pequeños puntos en la barra de herramientas y luego haga clic en el botón “Cambiar nombre”. Proporcione un nuevo nombre al archivo en la ventana emergente Cambiar nombre y haga clic en Guardar. Bastante simple, ¿verdad?
SharePoint Online también ofrece opciones de cambio de nombre a través del panel de propiedades y abriendo el archivo en las aplicaciones web de Office.
Utilice la "Vista del Explorador de archivos" para abrir la biblioteca de documentos en el Explorador de Windows y cambie el nombre de la extensión del archivo.
PowerShell CSOM Script para cambiar el nombre de un archivo en SharePoint Online:
Si bien cambiar el nombre de los archivos en SharePoint Online es un proceso bastante simple, puede resultar tedioso, especialmente si intenta cambiar el nombre de muchos de ellos. ¡Al usar PowerShell, es muy fácil cambiar el nombre de los archivos en SharePoint Online!
#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"
#Set Variables for Site URL, Old File Name and New File Name
$SiteURL= "https://crescent.sharepoint.com/sites/sales/"
$OldFileURL="/sites/Sales/Documents/Legal.docx"
$NewFileURL="/sites/Sales/Documents/LegalTemplate.docx"
#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
Try {
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Cred
#Copy and Rename the File
$File = $Ctx.Web.GetFileByServerRelativeUrl($OldFileURL)
$File.MoveTo($NewFileURL, [Microsoft.SharePoint.Client.MoveOperations]::Overwrite)
$Ctx.ExecuteQuery()
write-host -f Green "File Renamed successfully!"
}
Catch {
write-host -f Red "Error Renaming File!" $_.Exception.Message
}
Este script cambia el nombre del documento dado a un nuevo nombre. ¿Actualizamos el campo "Título" del nombre del archivo?
#Set Variables for Site URL, Old File Name and New File Name
$SiteURL= "https://crescent.sharepoint.com/sites/Retail"
$FileServerRelativeURL="/sites/Retail/Invoices/export%20user%20information.xlsx"
#Setup Credentials to connect
$Cred = Get-Credential
Try {
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
#Get the File
$File = $Ctx.Web.GetFileByServerRelativeUrl($FileServerRelativeURL)
$Ctx.Load($File)
$Ctx.ExecuteQuery()
#Set Title Field Value of the File
$ListItem = $File.ListItemAllFields
$Listitem["Title"] = $File.Name
$ListItem.Update()
$Ctx.ExecuteQuery()
write-host -f Green "File Title Updated successfully!"
}
Catch {
write-host -f Red "Error Updating File Title!" $_.Exception.Message
}
Más información sobre la actualización de metadatos de documentos está aquí: SharePoint Online: ¿Cómo actualizar las propiedades del documento usando PowerShell?
¿Qué tal cambiar el nombre de todos los archivos de una biblioteca de documentos de SharePoint Online?
SharePoint Online cambia el nombre de los archivos de forma masiva mediante PowerShell:
Digamos que en SharePoint Online desea cambiar el nombre de todos los documentos que tienen una cadena específica en sus nombres.
#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"
#Set Variables for Site URL, Library Name and Item ID
$SiteURL= "https://crescent.sharepoint.com/sites/sales/"
$LibraryName="Documents"
$OldString="National"
$NewString="Crescent"
#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
Try {
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Cred
#Get the web and Library
$Web=$Ctx.Web
$List=$web.Lists.GetByTitle($LibraryName)
#Get all items
$Query = [Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery()
$ListItems = $List.GetItems($Query)
$Ctx.Load($ListItems)
$Ctx.ExecuteQuery()
#Rename each file matching given old string
Foreach($Item in $ListItems)
{
#Replace string in the File Name
if($Item["FileRef"].ToString().Contains($OldString))
{
$CurrentURL=$Item["FileRef"].ToString()
$NewURL = $CurrentURL.Replace($OldString,$NewString)
$Item.File.MoveTo($NewURL, [Microsoft.SharePoint.Client.MoveOperations]::Overwrite)
$ctx.ExecuteQuery()
Write-host -f Green "Renamed: "$CurrentURL
}
}
}
Catch {
write-host -f Red "Error Renaming File!" $_.Exception.Message
}
SharePoint Online: cambiar el nombre de un archivo usando PnP PowerShell
Para cambiar el nombre de un archivo en SharePoint Online, use el cmdlet Rename-PnPFile.
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
$FileURL= "Shared Documents/Active/Office 365 Proposal.pdf"
$NewFileName ="Office 365 Proposal V2.pdf"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Rename the File
Rename-PnPFile -SiteRelativeUrl $FileURL -TargetFileName $NewFileName -Force
Utilice el interruptor “-OverwriteIfAlreadyExists” para cambiar el nombre y reemplazar el archivo original si existe. Además, puede utilizar el parámetro "-ServerRelativeUrl" para proporcionar una URL relativa al servidor del archivo fuente. De manera similar, podemos cambiar el nombre de todos los archivos en una biblioteca de documentos usando PnP PowerShell, como:
#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$LibraryName = "Documents"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Get All Files from the document library
$Files = Get-PnPListItem -List $LibraryName -PageSize 1000 | Where {$_["FileLeafRef"] -like "*.*"}
#Loop through each File
Write-host -f Green "Number of Files Found:"$Files.Count
ForEach($File in $Files)
{
Write-Host ("Renaming File '{0}' at {1}" -f $File["FileLeafRef"], $File["FileRef"])
#Rename File
Rename-PnPFile -ServerRelativeUrl $File["FileRef"] -TargetFileName "Old_$($File['FileLeafRef'])" -OverwriteIfAlreadyExists -Force
}
Esto puede resultar útil si necesita cambiar el nombre de una gran cantidad de archivos a la vez.
Preguntas frecuentes:
¿Cómo cambiar el nombre de un sitio de SharePoint Online?
Para cambiar la URL de un sitio de SharePoint Online, siga estos pasos:
Inicie sesión en el Centro de administración moderno de SharePoint >> Haga clic en “Sitios activos” en la sección “Sitios” >> Seleccione la colección de sitios cuyo nombre desea cambiar >> Haga clic en el enlace "Editar" junto a la URL del sitio. Proporcione una nueva URL y presione el botón "Guardar".
Más información: cambie el nombre de una colección de sitios en SharePoint Online
¿Cómo cambio el nombre de una biblioteca de documentos en SharePoint Online?
Para cambiar el nombre de una lista o biblioteca de documentos en SharePoint Online, siga estos pasos: Navegue a su lista o biblioteca de SharePoint Online >> Haga clic en el ícono de Configuración y luego en "Configuración de lista". En la página de configuración de la lista, haga clic en "Nombre de la lista, descripción y navegación" para actualizar el título de la lista y haga clic en "Guardar" para confirmar los cambios.
Más información: cambiar el nombre de una biblioteca de documentos en SharePoint Online
¿Cambiar el nombre de un archivo en SharePoint cambia el vínculo?
Si comparte un archivo usando la función "Compartir", no cambia el enlace. (Por ejemplo, https://Crescent.sharepoint.com/:i:/s/Retail/EawZ5OTNJQZGpq8PttH7-nmjEaBx3pSk2ygehAV). Sin embargo, si ha compartido un enlace directo al archivo, ¡eso cambia después del cambio de nombre! (Por ejemplo, https://Crescent.sharepoint.com/sites/Retail/Documents/Invoices.xlsx).


