ANT根据模式选择文件,移动到dest并重命名

Pri*_*han 4 ant

我正在尝试复制以_ $ {env} .xml结尾的根文件夹开始的所有目录下的文件,如果找到则从文件名中删除_ $ {env}或复制目录中存在的xml文件我不能让这个工作请帮忙.(可能我需要一个移动和映射器重命名,我不知道怎么不能把它们编织在一起.)

<target name="main">
    <copy todir="qa-wprelease"> 
        <fileset  dir="bin-debug" includes="**/*.xml"> 
            <or>
                <filename name="*_${env}.xml"/> 
                <filename name="*.xml" />
            </or>
        </fileset>
    </copy> 
</target>
Run Code Online (Sandbox Code Playgroud)

coo*_*fan 10

检查<copy>任务手册- <copy>可以采用<mapper>嵌套元素,这可以在使用模式复制期间更改文件名.<mapper>有很多类型,其中一些甚至可以使用javascript来更改您的文件名.

所以...也许你可以这样做(没有经过测试,所以不确定它是否有效):

<copy todir="qa-wprelease" includeemptydirs="false">
    <fileset dir="bin-debug" includes="**/*.xml" />
    <globmapper from="*_${env}.xml" to="*.xml"/>
</copy>
Run Code Online (Sandbox Code Playgroud)