如何在Logic Apps中用条件操作检查文件名及解决路径匹配问题
一、路径判断失效的修复方案
1. 优化触发器设置(推荐)
直接在「文件创建或修改(属性)」触发器中指定目标子文件夹,避免额外条件判断:
- 库名称保持填
Documents(对应SharePoint的Shared Documents库) - 在「文件夹」字段填写
library,这样触发器只会监听Shared Documents/library下的文件创建/修改操作,自动过滤其他路径的文件,无需再用条件分支。
2. 修正条件判断表达式
如果必须保留条件判断,问题出在isequalto的用法和路径匹配逻辑:
- SharePoint返回的文件路径格式可能和你手动输入的不一致(比如大小写、完整路径vs相对路径),建议用
contains函数做模糊匹配,或者直接匹配完整路径:- 表达式示例(检查路径是否包含目标公共部分):
contains(triggerBody()?['{Path}'], 'shared documents/library') - 注意:SharePoint路径区分大小写,要确保表达式中的路径和实际路径大小写完全一致;
triggerBody()?['{Path}']是触发器输出的文件完整路径字段,可在动态内容中找到对应字段插入。 - 条件右侧选择
true,这样目标路径下的文件会走true分支。
- 表达式示例(检查路径是否包含目标公共部分):
二、用条件操作检查文件名的方法
利用触发器输出的{FileName}字段,结合不同的逻辑函数实现需求:
- 检查文件名是否完全匹配:
表达式:equals(triggerBody()?['{FileName}'], '指定文件名.xlsx') - 检查文件名是否包含特定关键词:
表达式:contains(triggerBody()?['{FileName}'], '月度报表') - 检查文件后缀是否符合要求:
表达式:endsWith(triggerBody()?['{FileName}'], '.pdf') - 条件右侧均选择
true,满足条件时走对应分支即可。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

