fileCopy
Version 24.3.9111
fileCopy
将文件或目录复制到指定的路径。
必需的参数
- source:要复制的文件(包括文件名)或目录的路径。
- destination:文件或目录复制到的文件路径(包括文件名)或目录。
可选的参数
- force:控制操作是否在目标路径中创建丢失的目录。 允许的值为“true”和“false”。 默认值为“true”。 当需要在目标中镜像源的目录结构时,这通常与 recurse 参数结合使用。
- mask:用于选择要复制的条目的模式。 默认值为“”。 (例如,掩码“.xml”匹配源中的所有 xml 文件。)
- recurse:从源递归复制文件和目录。 在这种情况下,假定目标是一个目录。 允许的值为“false”和“true”。 默认为“假”。
输出属性
- file:source: 源文件或路径的完整路径。
- file:destination: 目标文件或路径的完整路径。
示例
复制单个文件
<!-- 创建具有关联源和目标属性的输入项 -->
<arc:set attr="input.source" value="/tmp/foo/helloworld.txt" />
<arc:set attr="input.destination" value="/tmp/bar/helloworld.txt" />
<!-- 调用fileCopy并传入输入项-->
<arc:call op="fileCopy" in="input" out="result">
<!-- 可选:将有关复制文件的信息记录到应用程序日志中 -->
<arc:set attr="_log.info" value="位于 [result.file:source] 的文件已复制到 [result.file:destination]"/>
</arc:call>
递归复制目录及其内容
执行此脚本时,/tmp/foo
中存在的目录结构将镜像到 /tmp/bar
中。 仅 .xml 文件从源复制到目标。
<!-- 创建具有关联源和目标属性的输入项 -->
<arc:set attr="input.source" value="/tmp/foo" />
<arc:set attr="input.destination" value="/tmp/bar" />
<!-- 添加可选的 mask 参数以仅复制目录中具有 xml 文件扩展名的文件 -->
<arc:set attr="input.mask" value="*.xml" />
<!-- 将 recurse 参数设置为 true 以递归复制源位置内的任何文件和目录 -->
<arc:set attr="input.recurse" value="true" />
<!-- 将force参数设置为true,以便操作在目标中创建必要的目录-->
<arc:set attr="input.force" value="true"/>
<!-- 调用fileCopy并传入输入项-->
<arc:call op="fileCopy" in="input" out="result">
<!-- 可选:将有关复制文件的信息记录到应用程序日志中 -->
<arc:set attr="_log.info" value="目录 [result.file:source] 已被复制并放置在以下目录中:[result.file:destination]"/>
</arc:call>