本文介绍了在 ANT 复制期间重命名文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想复制一个文件目录,并在此过程中重命名其中的一些文件.当我运行下面的脚本时,没有任何复制.如果我在下面的文件中评论全局映射器,文件将被复制(不重命名)

I'd like to copy a directory of files, and rename some of them in the process.When I run the script below, nothing copies.If I comment the glob mappers in the file below, the files are copied (without the renaming)

感谢您的帮助.詹姆斯

<?xml version="1.0" ?>
<project name="Create project structure" default="main">
  <target name="main" description="Copy template files to project folder">
    <echo>Copying template files to project folder</echo>
    <copy todir="${project.dir}" verbose="true" overwrite="true">
      <fileset dir="${shared.files}/templateproject" excludes=".svn"/>
      <mapper>
        <chainedmapper>
          <mapper type="glob" from="*PACKAGENAME*" to="*${package.name}*"/>
          <mapper type="glob" from="*GAMENAME*" to="*${game.name}*"/>
          <mapper type="identity"/>
        </chainedmapper>
      </mapper>
    </copy>
  </target>
</project>

推荐答案

求助于一种解决方法,使用移动",以及 Mnementh 指示的正确映射器类型.谢谢

Resorted to a workaround, using "move", and the correct mapper type as indicated by Mnementh. Thanks

<?xml version="1.0" ?>
<project name="Create project structure" default="main">
    <target name="main" description="Copy template files to project folder">
    <echo>Copying template files to project folder</echo>
    <copy todir="${project.dir}" verbose="true" overwrite="true">
        <fileset dir="${shared.files}/templateproject" excludes=".svn" />
    </copy>
    <move todir="${project.dir}">
        <fileset dir="${project.dir}" />
        <mapper>
        <mapper type="regexp"
                from="(.*)PACKAGENAME(.*)" to="\1${package.name}\2" />
        <mapper type="regexp"
                from="(.*)GAMENAME(.*)" to="\1${game.name}\2" />
        </mapper>
    </move>
    </target>
</project>

这篇关于在 ANT 复制期间重命名文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-25 05:24