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
谢谢大家的阅读,整理本文,希望能对大家日后的管理提供帮助。