2011-02-09 75 views
2

我想將所有目錄複製到另一個目錄,但也必須重命名一個文件。 我想這一點:Ant許多映射器問題副本

<copy todir="destDir" enablemultiplemappings="true"> 
    <fileset dir="sourceDir"/> 
    <compositemapper> 
    <identitymapper /> 
    <globmapper from="oldFileName" to="newFileName"/> 
    </compositemapper> 
</copy> 

但這個任務副本中的所有文件,並且不是複製重命名的文件。在destDir目錄中,我有兩個文件:destDir \ oldFileNamedestDir \ newFileName。但我只需要destDir \ newFileName。有人可以幫我弄這個嗎?

編輯: 我需要複製所有文件形成sourceDir到DESTDIR,並重新命名只是名稱爲「oldFileName」文件。

回答

2

套裝enablemultiplemappings="false",並更換您的映射器的順序:

<copy todir="destDir"> 
    <fileset dir="sourceDir" /> 
    <compositemapper> 
    <globmapper from="oldFileName" to="newFileName" /> 
    <identitymapper /> 
    </compositemapper> 
</copy> 

沒有多個映射啓用了產生文件名的第一個映射「贏」。所以對於需要重命名的文件,glob將應用。對於所有其他文件,身份映射器將按原樣命名它們。

+0

感謝您的回覆。我編輯我的問題。 – aindl 2011-02-09 11:42:44