2010-09-09 104 views
5

我正在尋找將一個目錄從一個位置複製到另一個位置。但是,在查看「copy」和「copyDir」(已棄用)之後,默認情況下,Ant似乎只將一個位置的內容複製到另一個位置,而不是實際目錄(以及其中的所有內容)。如何使用Ant將目錄從一個位置複製到另一個位置?

因此,作爲一個例子,我有以下幾點:

./Foo/test.txt 

我申請了下面這段螞蟻:

<copy todir="./build"> 
    <fileset dir="./Foo"/> 
</copy> 

結果看起來是這樣的:

./build/test.txt 

而我希望它是:

./build/Foo/test.txt 

希望有道理。我怎樣才能做到這一點?

回答

3

要保留該結構,您需要複製父文件夾。複製命令中有一個平坦選項,但默認爲false。您也可以製作所需的目錄結構,然後直接將文件級別複製到新文件夾中。

下面是從reference相關線路:

當<文件集>用來選擇要複製的文件, todir屬性指定必須設置。是 位於<文件集> 將目的地 目錄相對於<文件集>的基部 目錄的路徑匹配下被複制到一個目錄的根目錄下,除非弄平文件 屬性被設置爲真。

的問題在於,你拿起美孚文件夾,所以你只能得到它的文件,你需要選擇上述美孚的文件夾來獲取文件集在〜/富/文件。存在txt結構。

+0

大,感謝。 – sjwb 2010-09-09 15:48:41

+0

幫助我,這裏的+1 :) – jfklein 2011-05-11 19:05:37

3

這個怎麼樣:

<copy todir="./build"> 
    <fileset dir="."> 
    <include name="Foo/**"/> 
    </fileset> 
</copy> 
相關問題