如何在Mule 4中移动带时间戳的文件至指定文件夹
FlatFile文件移动实现方案及表达式修正
一、基础实现思路
- 先明确源FlatFile的路径,再按需求定义目标文件夹的命名规则(比如带时间戳)
- 借助文件操作组件(比如Mule的File Connector)完成移动动作,把源文件指向生成好的目标路径
二、你的表达式问题修正
你写的表达式存在两处问题:
- Windows路径里的单反斜杠
\会被识别为转义字符,必须改成双反斜杠\\才能正确解析路径 - 当前时间的转换语法错误,DataWeave里要获取当前时间并格式化,得用
now()函数
修正后的正确表达式:
targetPath="#['C:\\workspace\\file\\src\\main\\resources\\move' ++ now() as String {format: 'yyyyMMddHHmmss'}]"
如果是要创建一个带时间戳的目标文件夹(而不是给文件名加后缀),可以调整成这样:
targetPath="#['C:\\workspace\\file\\src\\main\\resources\\move_' ++ now() as String {format: 'yyyyMMddHHmmss'}]"
三、完整操作步骤(以MuleSoft为例)
- 用File Connector的Read组件,指定要移动的源FlatFile路径
- 在Set Variable组件里用修正后的表达式生成目标路径变量
- 配置File Connector的Move组件,把源文件路径关联到目标路径变量,执行移动操作
内容的提问来源于stack exchange,提问作者Avinash
相关产品推荐
相关产品推荐

