如何利用FME复制文件到指定文件夹(原创)

时间:2024-03-20 13:11:34

学习FME有一段时间里,项目中经常会用到文件复制的功能,之前一直都是编程来解决的此类 问题,最近听到群友说起在FME中也可以实现此类功能,试了之后,不得不感叹FME的功能强大,可以说是不会编程的朋友们福音,现将如何利用FME复制文件做一个说明,以便朋友们遇到此类问题时能迅速解决:

在开始演示之前首先要介绍一下FileCopy写模块:

FileCopy写模块是鲜为人知的一个FME功能,因为它的概念有些模糊,所以使用率没有它应该有的那么高。它不是一个数据格式,相反,每个进入它的要素将触发一个文件系统拷贝(或移除)命令:
如何利用FME复制文件到指定文件夹(原创)

像你看到的这样,写模块要素类中包含了格式属性,它们定义了源文件和目标文件。这些属性是:

·         filecopy_source_dataset(文件输出的位置)

·         filecopy_dest_dataset(可用于指定格式化为relative,absolute或UNC的目标文件夹)

·         filecopy_dest_filename可用于指定格式化为relative,absolute或UNC的目标文件

我只是简单的设置一个格式属性为源文件/文件夹,另一个为目标文件夹/文件名。然后,在运行时,数据就从一个地方拷贝到另外一个地方。

在该实例中分别用到了读模块(Text File),字符串拼接转换器(StringConcatenator)和属性匹配转换器(AttributeRenamer)首先文件为如下格式:

如何利用FME复制文件到指定文件夹(原创)

 

利用字符串拼接转换器(StringConcatenator)加上文件的路径:
如何利用FME复制文件到指定文件夹(原创) 

                                                                                        图1

如何利用FME复制文件到指定文件夹(原创)

                                                                                               图2

图2为拼接后的文件路径


然后用属性匹配转换器(AttributeRenamer)和写模块的属性filecopy_source_dataset(文件输出的位置)进行匹配:

如何利用FME复制文件到指定文件夹(原创)

模板整体的流程设置为:

如何利用FME复制文件到指定文件夹(原创)

如此便可将文件复制(或移动)到指定文件夹。