当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PnP PowerShell 检查 SharePoint Online 中是否存在文件夹?

作者:精品下载站 日期:2024-12-14 05:18:22 浏览:14 分类:玩电脑

如何使用 PnP PowerShell 检查 SharePoint Online 中是否存在文件夹?


最近,我编写了一个 PowerShell 脚本来使用 PnP PowerShell 检查 SharePoint Online 中是否存在文件夹。我想我会在本教程中分享这一点。

让我用真实的例子来告诉你。

使用 PnP PowerShell 检查 SharePoint Online 中是否存在文件夹

我有一个 SharePoint 文档库,在其中创建了一个文件夹。下面的屏幕截图显示了这一点。

[玩转系统] 如何使用 PnP PowerShell 检查 SharePoint Online 中是否存在文件夹?

现在,我们将使用 PnP PowerShell 使用各种方法来检查该文件夹是否存在于 SharePoint 文档库中。

方法 1:使用 Get-PnPFolder

在 PnP PowerShell 中,您可以使用 Get-PnPFolder 检查 SharePoint Online 网站中是否存在文件夹。如果文件夹存在,则返回文件夹对象;否则,它不会返回任何内容。

这是完整的 PnP PowerShell 脚本。

$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
# Define the folder path
$folderPath = "/sites/PowerShellFAQs/Shared Documents/Accounting"

# Check if the folder exists
$folder = Get-PnPFolder -Url $folderPath -ErrorAction SilentlyContinue

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

执行上述 PnP PowerShell 脚本后,它将显示消息“文件夹存在”。因为该文件夹存在于 SharePoint Online 文档库中。您可以看到下面的屏幕截图:

[玩转系统] 如何使用 PnP PowerShell 检查 SharePoint Online 中是否存在文件夹?

阅读使用 PnP PowerShell 检查 SharePoint 网站是否存在

方法 2:使用 Resolve-PnPFolder

Resolve-PnPFolder cmdlet 是 PnP PowerShell 中的另一种方法,它不仅检查文件夹是否存在,而且如果不存在则创建该文件夹。

这是一个例子。

$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
# Define the folder path
$folderPath = "/sites/PowerShellFAQs/Shared Documents/MyFolder"

# Resolve the folder (creates if not exists)
$folder = Resolve-PnPFolder -SiteRelativePath $folderPath

if ($folder) {
    Write-Host "Folder exists or has been created successfully."
} else {
    Write-Host "Failed to resolve or create the folder."
}

执行上述脚本后,您可以在下面的屏幕截图中看到输出。

[玩转系统] 如何使用 PnP PowerShell 检查 SharePoint Online 中是否存在文件夹?

方法 3:使用 Get-PnPListItem

让我向您展示另一种检查 SharePoint Online 中是否存在文件夹的方法。

您可以使用 Get-PnPListItem cmdlet 搜索 SharePoint 文档库中的文件夹。

下面是一个示例和完整的 PnP PowerShell 脚本。

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

# Define the document library and folder name
$libraryName = "Shared Documents"
$folderName = "Accounting"

# Get the list items in the document library
$listItems = Get-PnPListItem -List $libraryName -Fields "FileLeafRef" -PageSize 1000

# Check if the folder exists
$folderExists = $listItems | Where-Object { $_["FileLeafRef"] -eq $folderName }

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

我使用 VS code 执行了上述 PnP PowerShell 脚本,您可以在下面的屏幕截图中看到输出:

[玩转系统] 如何使用 PnP PowerShell 检查 SharePoint Online 中是否存在文件夹?

结论

我希望您可以使用这三种方法中的任何一种来检查 SharePoint Online 文档库或列表中是否存在文件夹。我建议使用 Get-PnPFolder 方法来检查 SharePoint 中是否存在文件夹。

如果还有什么问题请在下方留言,我会查看并回复。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯