2013-10-25 106 views
1

嗨,我需要用ant複製一組文件。 不幸的是我不能使用目標「複製」,因爲它失去了Linux文件的權限。所以必須使用目標「執行」「cp」。 如何將一組文件傳遞給執行cp目標?我知道我必須使用文件集,但我可以通過哪種方式將文件集作爲執行cp目標的參數傳遞? 在此先感謝。ANT - 如何複製一組保留Linux權限的文件

回答

2

您無法將文件集傳遞到操作系統命令。你能做的最好的就是用apply任務對每個文件調用者「CP」命令,如下所示:

<apply executable="cp"> 
    <srcfile/> 
    <targetfile/> 
    <fileset dir="src" includes="*.txt"/> 
    <globmapper from="*.txt" to="output/*.txt"/> 
    </apply> 

但是,我真的不明白,爲什麼你不能與chmodcopy任務結合起來,這將是最有效的:

<copy todir="output"> 
    <fileset dir="src" includes="*.txt"/> 
</copy> 

<chmod perm="700"> 
    <fileset dir="output" includes="*.txt"/> 
</chmod> 
+1

我不能使用第二個目標(與chmod perm =「700」之一),因爲不是我想要複製的所有文件具有相同的權限,我想保留每一個的原始模式。 無論如何,您發佈的第一個目標完美無缺。非常感謝我搜索這個問題的解決方案。 :) – user2572526