Microsoft 365 开发:如何使用PnP脚本删除文档库中的文件
  gaVyDq93dOrc 2023年11月02日 61 0

Blog链接:https://blog.51cto.com/13969817

在SharePoint Online中,您可能偶尔需要删除文档库中的所有文件,例如,如果要将大量文档导入库,或者要清理旧文件,那么如何快速删除库中的所有文档呢?

本文将给大家介绍如何通过PnP Powershell脚本来删除所有文件?

1.   设定Site URL和Library的参数,如下:

$SiteURL= "https://contoso.sharepoint.com/sites/demo"
$ListName= "Training"

2.  连接SPO Site,如下所示:

Connect-PnPOnline-URL $SiteURL -Interactive

3.  获取Web和Library,如下所示:

$Web= Get-PnPWeb
$List= Get-PnPList -Identity $ListName

4.  以递归方式删除文件夹和子文件夹中的所有项目

FunctionDelete-AllFilesFromFolder($Folder)
{
    If($Folder.Context.web.ServerRelativeURL -eq"/")
    {
        $FolderSiteRelativeURL= $Folder.ServerRelativeUrl
    }
    Else
    {       
        $FolderSiteRelativeURL= $Folder.ServerRelativeUrl.Replace($Folder.Context.web.ServerRelativeURL,[string]::Empty)
    }
    $Files = Get-PnPFolderItem -FolderSiteRelativeUrl $FolderSiteRelativeURL -ItemType File
    ForEach($File in $Files)
    {
        Write-Host("Deleting File: '{0}' at
'{1}'" -f $File.Name, $File.ServerRelativeURL)
                Remove-PnPFile -ServerRelativeUrl $File.ServerRelativeURL -Force -Recycle
    }
    $SubFolders = Get-PnPFolderItem -FolderSiteRelativeUrl $FolderSiteRelativeURL -ItemType Folder
    Foreach($Folderin $SubFolders)
    {
        If(
($Folder.Name -ne"Forms") -and (-Not($Folder.Name.StartsWith("_"))))
        {
            Delete-AllFilesFromFolder-Folder $Folder
        }
    }
}
Delete-AllFilesFromFolder-Folder $List.RootFolder

谢谢大家的阅读,整理本文,希望能对大家日后的管理提供帮助。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

gaVyDq93dOrc