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

Power Automate使用replace()移除_anonymous时文件名丢失内容求助

解决Power Automate中移除文件名_anonymous时丢失内容的问题

问题分析

你当前使用的replace表达式在处理以数字+英文句号开头的文件名时出现异常,仅保留数字和句号部分,核心原因大概率是对SharePoint文件属性的字段引用有误,或是直接处理完整文件名时因特殊开头触发了意外的解析逻辑。

解决方案

以下提供两种可靠的解决方式,任选其一即可:

方式1:修正字段引用并直接替换

Power Automate中Get file properties返回的完整文件名(含扩展名)对应的字段是Name,而非带大括号的{Name}。将表达式修改为:

replace(outputs('Get_file_properties')?['body/Name'], '_anonymous', '')

注:无需额外用string()包裹,因为Name字段本身就是字符串类型。

方式2:拆分文件名与扩展名后处理(更稳妥,适配含多个点的文件名)

如果文件名中存在多个英文句号(比如18.-ITP.v2_anonymous.pdf),可以先拆分文件名和扩展名,单独处理文件名部分后再拼接:

  1. 获取不带扩展名的文件名:
join(take(split(outputs('Get_file_properties')?['body/Name'], '.'), sub(length(split(outputs('Get_file_properties')?['body/Name'], '.')), 1)), '.')
  1. 获取文件扩展名:
last(split(outputs('Get_file_properties')?['body/Name'], '.'))
  1. 组合最终文件名:
concat(replace(join(take(split(outputs('Get_file_properties')?['body/Name'], '.'), sub(length(split(outputs('Get_file_properties')?['body/Name'], '.')), 1)), '.'), '_anonymous', ''), '.', last(split(outputs('Get_file_properties')?['body/Name'], '.')))

验证测试

用你提供的测试文件名18.-ITP#005_SHST-219I_QUANTUM PACKER_C23P-071_anonymous.pdf测试上述表达式,会得到期望的结果:18.-ITP#005_SHST-219I_QUANTUM PACKER_C23P-071.pdf

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:22:35