如何在SharePoint文件触发器中配置多动态文件夹路径及工作流
一、核心工作流流程
- 触发:监听
SharePoint/documents根路径下所有子层级的文件创建或修改事件,无需绑定固定子文件夹 - 解析:从触发文件的完整路径、文件名中提取动态信息,全程避免硬编码年月日期
- 执行:基于解析出的信息执行自定义业务操作(如同步、通知、数据处理等)
二、触发器「When a file is created or modified in a folder (properties)」具体配置
- 站点选择:直接选中目标SharePoint站点
- 文件夹路径:手动输入或选择根路径
/documents(确保是业务要求的通用根目录) - 包含子文件夹:必须勾选此选项,否则只能监听根目录下直接存放的文件,无法覆盖子路径
- 触发条件(可选):
- 若需过滤文件类型,添加条件规则:
File extension等于.xlsx(可根据业务调整) - 如需按时间筛选,用动态内容的
Created或Modified字段做比较(比如Modified大于addDays(utcNow(), -7)),绝对不要硬编码具体年月
- 若需过滤文件类型,添加条件规则:
三、动态信息提取配置(避免硬编码)
1. 提取文件名中的年月日期
添加「Compose」操作,使用以下表达式提取文件名中的8位日期字符串(以country20230201.xlsx为例):
substring(triggerOutputs()?['body/{Filename}'], 7, 8)
- 逻辑:文件名前缀
country占7个字符,从索引7开始截取8位,得到20230201
2. 转换日期格式(可选)
如果需要将字符串转为标准日期格式,再添加一个「Compose」操作,用表达式:
convertFromUtc(parseDateTime(substring(triggerOutputs()?['body/{Filename}'], 7, 8), 'yyyyMMdd'), 'UTC')
3. 获取动态子路径
直接使用触发器返回的动态内容Folder path,它会自动返回文件所在的完整子路径(比如/documents/abc/calculations/),无需手动拼接硬编码路径
四、后续业务操作示例
- 文件同步:选择「Copy file」操作,目标路径可结合
Folder path动态内容设置,确保同步路径随源文件动态变化 - 通知推送:在「Send an email (V2)」操作中,插入
File name、Folder path、提取出的日期等动态信息,让通知内容更精准
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

