首页 > 其他分享 >Microsoft 365 开发:如何使用PnP脚本删除文档库中的文件

Microsoft 365 开发:如何使用PnP脚本删除文档库中的文件

时间:2023-09-27 20:32:43浏览次数:29  
标签:库中 Get PnP ServerRelativeURL 文档 File Folder 365 FolderSiteRelativeURL

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

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


标签:库中,Get,PnP,ServerRelativeURL,文档,File,Folder,365,FolderSiteRelativeURL
From: https://blog.51cto.com/u_13969817/7628713

相关文章

  • Microsoft 365 开发:如何使用PnP脚本删除回收站中的文件
    Blog链接:https://blog.51cto.com/13969817我们都知道,如果在网站中删除文件,那么默认的情况下,文件会保存在回收站93天,之后才会真正的删除,那么如何通过脚本删除保存在回收站的文件呢?本文将给大家介绍如何通过PnPPowershell删除回收站中的文件?1. 定义SiteURL和文档库,如下所示:$SiteU......
  • Microsoft 365 开发:如何使用PnP脚本批量Check in文档
    Blog链接:https://blog.51cto.com/13969817在SharePointOnline中,可以签出上传到文档库的文档,以防止多个用户同时进行更改。用户完成编辑后,应将其重新签入,如果未重新签入已签出的文档,则会导致问题,并阻止其他用户访问和编辑这些文档。有时您可能需要在SharePointOnline中批量签入文......
  • Maven项目,本地jar包导入手动导入到Maven库中
    一、手动添加jar包到Maven仓库(1)在pom.xml加入依赖,例如:(2)把包拷贝到到mavenhome下,然后进入bin目录下,执行mvninstall:install-file-Dfile=C:\Users\admin\Desktop\1.0-SNAPSHOT\1.0-SNAPSHOT\common-file-1.0-SNAPSHOT.jar-DgroupId=com.chinatower.awh.file-DartifactId=c......
  • D365从云端UAT环境Export DB到本地开发环境
    1,导出数据参考微软的如下链接去操作,很详尽,最终得到一个”.bacpac”备份文件Exportacopyofthestandarduseracceptancetesting(UAT)database-Finance&Operations|Dynamics365|MicrosoftLearn2,导入数据尝试过用SSMS(MicrosoftSQLServerMamagement)导入......
  • 数据库中order by 依照指定顺序排序如何操作
    SQL学习之使用orderby依照指定顺序排序或自己定义顺序排序 我们通常须要依据客户需求对于查询出来的结果给客户提供自己定义的排序方式,那么我们通常sql须要实现方式都有哪些,參考很多其它资料总结例如以下:一、假设我们仅仅是对于在某个程序中的应用是须要依照例如以下的方......
  • Microsoft 365 解决方案:为访客用户创建安全的Microsoft团队和共享频道环境
    博客链接:https://blog.51cto.com/u_13637423随着数字化转型的推进,企业都纷纷采用云端的解决方案来满足日常企业的运作需求,这包含与企业外部的供应商和合作伙伴的业务往来,那么从IT和Secure角度,如何考虑在不影响安全的情况下确保在MicrosoftTeams上与外部用户协作和工作是顺利的呢?·......
  • 前端显示数据库中的换行文本:HTML和CSS解决方案
    在项目中经常会出现要显示数据库中的大段文本内容,如说明或备注等信息,当其中存储有换行符的时候,前端通常会忽略这个换行,直接在一行显示,那么怎么解决呢?解决方案一:使用HTML<br>标签HTML的<br>标签是一种简单而直观的方法,它可以将文本中的换行符正确地呈现在浏览器中。示例代码......
  • 46_解决office365开启代理提示“需要登录”的问题
    这是一篇原发布于2020-01-0609:55:00得益小站的文章,备份在此处。概览v2rayN代理了office的一些域名所致,只要把这些域名加入直连即可。症状开启v2rayN,office365提示“需要登录”,且在不开启v2rayN的状态下重新登录即恢复正常。软件版本系统:win10Pro190918363.535v2rayN:3.......
  • 前端安装pnpm 包报错
    安装pnpm包管理器全局安装npminstallpnpm-g设置源pnpmconfiggetregistry//查看源pnpmconfigsetregistryhttp://registry.npm.taobao.org//切换淘宝源使用:pnpminstall包pnpmi包pnpmadd包//-S默认写入dependenciespnpmadd-D//-Dde......
  • math 库中常用的数学运算和常量【GO 基础】
    〇、关于mathGO语言的math库是一个内置的标准库,其中包含了许多数学函数和常量,用于计算各种数学运算和统计学计算。日常开发中,计算当然是少不了的,那么今天来梳理下备查。一、测试示例1.1小数位的:Round-四舍五入、RoundToEven-四舍/五至偶数funcRound(xfloat64)float6......