Power Automate:复制文件时忽略已存在项(基于Flow实现文件同步)
不用纠结「Copy File」里的「Custom Action」,用前置条件判断的方式更简单可靠,具体步骤如下:
1. 获取源文件列表
添加「Get files (properties only)」动作,指向SharePoint的「共享文档」文件夹,按需设置筛选条件(如果不需要全量复制)。
2. 逐个检查目标文件夹是否存在对应文件
在源文件列表的「Apply to each」循环里,添加「Get file metadata using path」动作:
- 「Site Address」选择目标站点
- 「File Path」填写目标文件夹路径 + '/' + 当前循环的源文件名称(示例:
/目标文件夹名称/@{items('Apply_to_each')?['Name']}) - 点击该动作右上角的「...」→「Configure run after」,勾选is successful和has failed,确保文件不存在时Flow不会中断。
3. 添加条件判断分支
在「Get file metadata using path」之后,添加「Condition」动作:
- 条件设置为:
outputs('Get_file_metadata_using_path')?['statusCode']等于404(404代表文件不存在) - 如果条件为真(文件不存在):执行「Copy File」动作,冲突处理任选(已确认文件不存在,不会触发冲突)
- 如果条件为假(文件已存在):什么都不做,或添加「Compose」步骤输出日志(示例:「文件@{items('Apply_to_each')?['Name']}已存在,跳过复制」)
补充说明
- 这种方式比「Custom Action」更直观,无需调用额外API,出错概率更低
- 批量复制时,可根据站点性能调整「Apply to each」的并发设置(默认并发20)
内容的提问来源于stack exchange,提问作者RustyMc
相关产品推荐
相关产品推荐

