我有一個填充文件集,我需要將匹配的文件名打印到文本文件中。如何將文件集打印到文件,每行一個文件名?
我嘗試這樣做:
<fileset id="myfileset" dir="../sounds">
<include name="*.wav" />
<include name="*.ogg" />
</fileset>
<property name="sounds" refid="myfileset" />
<echo file="sounds.txt">${sounds}</echo>
它打印在一行中的所有文件,用分號隔開。我需要每行有一個文件。我怎樣才能做到這一點,而不訴諸操作系統命令或編寫Java代碼?
UPDATE:
啊,本來應該更具體的 - 名單不得包含目錄。無論如何,我將ChssPly76's標記爲公認的答案,因爲pathconvert命令正是我所缺少的。要剝離目錄並僅列出文件名,我使用了"flatten" mapper。
這裏是我結束了劇本:
<fileset id="sounds_fileset" dir="../sound">
<include name="*.wav" />
<include name="*.ogg" />
</fileset>
<pathconvert pathsep="
" property="sounds" refid="sounds_fileset">
<mapper type="flatten" />
</pathconvert>
<echo file="sounds.txt">${sounds}</echo>
的Pathconvert任務似乎創建了絕對文件路徑。有沒有可能防止這種情況發生?我有同樣的問題,並希望打印一個文件的列表,但不是完整的路徑,但相對路徑(所以扁平化將不適用於我) – Soccertrash 2012-07-31 10:41:37
@Soccertrash,我解決了這個後處理文件與<替換文件=「$ {sounds.txt}」token =「$ {basedir} \」value =「」/>'刪除公共基地目錄前綴(在我的情況下)。 – mgaert 2013-01-24 12:04:45
@mgaert,你可以把它作爲'