Búsqueda de sitios web

¿Cómo comprobar si existe un archivo en una biblioteca de documentos de SharePoint utilizando PnP PowerShell?


Recientemente, recibí el requisito de verificar si existe un archivo específico en una biblioteca de documentos de SharePoint. PnP PowerShell es una de las mejores opciones para este tipo de requisitos. En este tutorial, le mostraré cómo comprobar si un archivo existe en una biblioteca de documentos de SharePoint usando PnP PowerShell con ejemplos.

Comprobar si existe un archivo en una biblioteca de documentos de SharePoint usando PnP PowerShell

Aquí le mostraré dos métodos para verificar si existe un archivo en una biblioteca de documentos en SharePoint Online usando PnP PowerShell.

  • Usando Get-PnPFile
  • Usando Get-PnPFolderItem

Método 1: uso de Get-PnPFile

El cmdlet Get-PnPFile es la mejor manera de comprobar si un archivo existe en una biblioteca de documentos de SharePoint. Así es como puedes usarlo:

Digamos que queremos comprobar si un archivo llamado Report.xlsx existe en la biblioteca Documentos de nuestro sitio de SharePoint. Luego, puede escribir el script PnP PowerShell completo.

Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/PowerShellFAQs" -Interactive
$fileUrl = "/sites/PowerShellFAQs/Shared Documents/Report.xlsx"

# Try to get the file
$file = Get-PnPFile -Url $fileUrl -ErrorAction SilentlyContinue

if ($file -ne $null) {
    Write-Host "File exists."
} else {
    Write-Host "File does not exist."
}

En este script, utilizamos Get-PnPFile para intentar recuperar el archivo. Si el archivo existe, se recuperará e imprimiremos "El archivo existe". Si el archivo no existe, se genera una excepción y lo capturamos para imprimir "El archivo no existe".

Ejecuté el script de PowerShell anterior y puedes ver el resultado en la siguiente captura de pantalla:

Método 2: usar Get-PnPFolderItem

Otro método para comprobar la existencia de un archivo en una biblioteca de SharePoint es utilizar el cmdlet Get-PnPFolderItem , que puede enumerar todos los elementos de una carpeta y luego comprobar si el archivo específico se encuentra entre ellos.

Aquí está el script completo de PowerShell.

Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/PowerShellFAQs" -Interactive

$folderUrl = "Shared Documents"
$fileName = "Report.xlsx"

$items = Get-PnPFolderItem -FolderSiteRelativeUrl $folderUrl

$fileExists = $items | Where-Object { $_.Name -eq $fileName }

if ($fileExists) {
    Write-Host "File exists."
} else {
    Write-Host "File does not exist."
}

Ejecuté el script PnP PowerShell anterior y muestra que el archivo existe ya que está disponible en la biblioteca de documentos de SharePoint. Puede ver el resultado en la siguiente captura de pantalla:

Conclusión

En este tutorial, he explicado dos métodos diferentes para comprobar si un archivo existe en una biblioteca de documentos de SharePoint Online usando PnP PowerShell. Estoy seguro de que esto te ayudará. Déjame saber en la sección de comentarios a continuación si tienes algún problema.

Artículos relacionados