Power Automate Desktop 启用 Power Fx 后如何用通配符筛选文件?
数据小许
如何填写筛选条件
可以继续使用启用了 Power Fx 的流程,将通配符模式作为字符串传给“Get files in folder”的“File filter”字段。建议先用下面的显式表达式获取所有文件:
="*"
如果只需要 .txt 文件,填写:
="*.txt"
其中,= 表示输入的是 Power Fx 表达式,双引号将筛选模式定义为字符串。表达式求值后,文件操作收到的是 * 或 *.txt。这种写法是根据 Microsoft 文档中的 Power Fx 输入规则和文件筛选规则组合得出的。Power Fx 输入规则、文件夹操作参考。
为什么不应改用 %
“File filter”使用文件名通配符。官方文档明确支持 * 和 ?,例如 *.txt、document?.doc;文档未将 % 列为该字段的通配符。启用 Power Fx 后,仍应把文件名模式传给这个字段。文件筛选参数说明。
需要区分这两种输入:
="*":Power Fx 表达式,结果是字符串*。=*:不完整的 Power Fx 表达式,不能表示通配符字符串。
直接输入 * 失效,也不能直接归因于启用了 Power Fx。Microsoft 文档说明,从版本 2.41 起,不以 = 开头的输入会作为文本处理。按这项规则,直接填写 * 或 *.txt 也应能传入文本;现有信息不足以确认此次失败的具体原因。Power Fx 版本变更说明。
如何验证和排查
- 将“Folder”指向一个已知包含文件的文件夹,在“File filter”中填写
="*",运行操作并检查输出的文件列表。 - 如果能取得文件,再改成
="*.txt",确认目录中确实存在对应扩展名的文件。 - 如果目标文件位于子文件夹,启用“Include subfolders”;该选项默认关闭。子文件夹检索说明。
- 如果仍然失败,记录 Power Automate Desktop 的版本、字段中的完整内容、错误提示,以及结果是报错还是空列表。这些信息有助于区分表达式解析问题与目录、权限或筛选范围问题。
没有错误信息和版本信息时,无法保证添加引号一定能解决当前故障。可以先用上述显式字符串表达式验证输入,无须重建整个流程。
备注:内容仅供参考。
