執行任務目前我做螞蟻:我如何在interate所有子文件夾和螞蟻
<foreach list="${myfolders}" target="bundle"
param="worksheet" inheritall="true"/>
到文件夾列表上執行目標「捆綁」。但問題是我需要設置這個列表。我如何使用Ant來遍歷給定父目錄的所有文件夾?
如果有一種方法可以做到這一點,也排除會更好特定的文件夾。謝謝。
執行任務目前我做螞蟻:我如何在interate所有子文件夾和螞蟻
<foreach list="${myfolders}" target="bundle"
param="worksheet" inheritall="true"/>
到文件夾列表上執行目標「捆綁」。但問題是我需要設置這個列表。我如何使用Ant來遍歷給定父目錄的所有文件夾?
如果有一種方法可以做到這一點,也排除會更好特定的文件夾。謝謝。
我使用foreach任務從ant-contrib了類似的工作。這將爲列表中的每個條目調用指定的目標,並且每次都將該條目作爲參數傳遞。
您可以提供<dirset>
爲<foreach>
任務進行操作:
<foreach target="bundle" param="worksheet" inheritall="true">
<path>
<dirset dir="${subDir}">
<include name="*"/>
</dirset>
</path>
</foreach>
注意,當我做這樣的list
不使用參數。
您不能直接在<foreach>
下使用<dirset>
,因爲您可以使用<fileset>
。但是,如上所示,您可以將<dirset>
置於<path>
之下。 <include name="*"/>
可防止遞歸目錄樹。
謝謝。當我嘗試它時,我得到一個錯誤「'
?試試我的[build.xml](http://dl.dropbox.com/u/433257/build.xml)。這是我用來測試的。 – 2011-06-06 21:29:29
這工作完美。應該被接受。 – prolink007 2012-10-01 14:20:18
您可以subant
例做到這一點:
<?xml version="1.0" encoding="UTF-8"?>
<project name="subant" default="subant1">
<target name="subant1">
<subant target="">
<dirset dir="." includes="*"/>
<target name="release" />
</subant>
</target>
</project>
我正在尋找一種方式來做到這一點無需提供清單。子文件夾的集合在我的情況下不斷變化,我不希望總是相應地更新列表。 – Solomon 2011-06-06 16:05:11
看起來大衛W已經擴大了這一點。 「列表」實際上可以是自動生成的東西。 – Ben 2011-06-07 10:43:57