fileCopy

Version 23.4.8801


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>