使用Data Gateway的托管FileSystem Connector文件名大小写问题
问题背景
已在标准Logic App中配置工作流,通过启用Data Gateway的托管FileSystem Connector读取Windows文件共享内容,基础功能正常。但在通过路径获取文件数据或元数据时,发现连接器对文件名和扩展名区分大小写——实际存在\\server\share1\file1.jpg,但传入\\server\share1\File1.JpG时,连接器返回错误:
你的文件系统中,
\\server\share1路径下不存在名为File1.JpG的文件。请在访问前验证文件是否存在或创建该文件。
clientRequestId: 90440eba-4c91-463c-a1ac-d4cc787b384d
需求:让连接器以不区分大小写的方式处理路径,任意大小写的文件名都能匹配到对应文件。
解决方案
方法1:枚举目录+过滤匹配(最可靠)
先遍历目标目录的所有文件,再通过不区分大小写的逻辑筛选出目标文件,步骤如下:
- 添加
List files in folder操作,配置目标共享路径\\server\share1和对应的Data Gateway。 - 添加Filter array操作,输入源选择
List files in folder返回的value数组,设置过滤条件:toLower(item()?['Name']) equals toLower('File1.JpG') - 检查过滤结果是否非空,若有匹配项,取第一个结果的
Path或Id,传入后续的Get file content或Get file metadata操作。
方法2:统一转换文件名大小写
在构造文件路径时,将输入的文件名统一转换为小写(或大写),确保和实际存储的文件名大小写一致:
- 使用Logic App内置表达式转换,例如要构造路径:
concat('\\server\share1\', toLower('File1.JpG')) - 注意:此方法仅适用于目录中没有大小写不同但名称相同的文件(Windows原生不允许,但特殊场景可能存在),否则会出现匹配错误。
方法3:切换到Power Automate Desktop操作
如果场景允许,改用Power Automate Desktop的文件操作组件,它默认遵循Windows文件系统的大小写不敏感规则,直接传入任意大小写的路径即可匹配到目标文件。
内容的提问来源于stack exchange,提问作者Germán Mendoza
相关产品推荐
相关产品推荐

