如何使用 PnP PowerShell 检查文件是否存在于 SharePoint 文档库中?
最近,我收到一个要求,检查SharePoint文档库中是否存在特定文件。 PnP PowerShell 是满足此类需求的最佳选择之一。在本教程中,我将通过示例向您展示如何使用 PnP PowerShell 检查 SharePoint 文档库中是否存在文件。
使用 PnP PowerShell 检查 SharePoint 文档库中是否存在文件
我将在这里向您展示两种使用 PnP PowerShell 检查文件是否存在于 SharePoint Online 文档库中的方法。
- 使用
Get-PnPFile - 使用
Get-PnPFolderItem
方法 1:使用 Get-PnPFile
Get-PnPFile cmdlet 是检查 SharePoint 文档库中是否存在文件的最佳方法。使用方法如下:
假设我们要检查 SharePoint 网站的文档库中是否存在名为 Report.xlsx 的文件。然后,您可以编写完整的 PnP PowerShell 脚本。
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."
}在此脚本中,我们使用 Get-PnPFile 尝试检索文件。如果文件存在,则会检索该文件,并打印“文件存在”。如果文件不存在,则会抛出异常,我们捕获它并打印“文件不存在”。
我执行了上面的 PowerShell 脚本,您可以在下面的屏幕截图中看到输出:
方法 2:使用 Get-PnPFolderItem
检查 SharePoint 库中文件是否存在的另一种方法是使用 Get-PnPFolderItem cmdlet,它可以列出文件夹中的所有项目,然后检查特定文件是否在其中。
这是完整的 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."
}我执行了上面的 PnP PowerShell 脚本,它显示该文件存在,因为该文件在 SharePoint 文档库中可用。您可以在下面的屏幕截图中看到输出:
结论
在本教程中,我解释了两种不同的方法用于使用 PnP 检查文件是否存在于 SharePoint Online 文档库中PowerShell。我相信这会对你有所帮助。如果您遇到任何问题,请在下面的评论部分告诉我。

