You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell PNP筛选SharePoint Online含指定字符串的文件夹

筛选SharePoint Online指定名称文件夹的PowerShell PnP脚本完善方案

我们只需要新增关键词配置变量,在遍历文件夹时添加匹配筛选逻辑即可实现需求,如需递归扫描所有子文件夹,也可以补充对应调用逻辑,完整可运行脚本如下:

# 站点地址配置
$siteURL="https://URL"
# 起始扫描的根文件夹站点相对路径
$rootFolder="/FOLDER"
# 需要匹配的关键词
$matchKeyword = "important_documents"

Function GetFolders($folderUrl)  
{      
    $folderColl=Get-PnPFolderItem -FolderSiteRelativeUrl $folderUrl -ItemType Folder   
    # 遍历文件夹
    foreach($folder in $folderColl)  
    {     
        # 筛选名称包含指定关键词的文件夹,-ilike不区分大小写,不需要可换成-like
        if($folder.Name -ilike "*$matchKeyword*"){
            write-host -ForegroundColor Green $folder.Name ",站点相对路径:$($folder.ServerRelativeUrl)"
        }
        # 可选:需要递归扫描所有子文件夹的话,取消下面一行的注释
        # GetFolders($folder.ServerRelativeUrl)
    }           
}  

# 连接SharePoint Online站点
Connect-PnPOnline -Url $siteURL -Credentials (Get-Credential)

# 调用函数执行扫描
GetFolders($rootFolder)

关键修改说明

  • 新增了$matchKeyword变量,可直接修改为你需要匹配的目标字符串
  • 新增了匹配判断逻辑:-ilike "*$matchKeyword*"的通配符匹配规则可筛选出名称中任意位置包含关键词的文件夹,如果你需要严格匹配前缀/后缀,可自行调整通配符位置(比如"$matchKeyword*"匹配前缀,"*$matchKeyword"匹配后缀)
  • 补充了可选的递归调用逻辑,默认只扫描你指定的根文件夹下的第一级文件夹,需要全量扫描所有子文件夹的话,取消对应行的注释即可

内容的提问来源于stack exchange,提问作者Nemanja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:36:07