2012-02-20 50 views
3

使用Ant,我怎樣才能從第一級列出子文件夾,而不是在目錄樹下?如何僅在Ant中列出第一級子目錄?

說我有:

dir1 
-- dir21 
----dir211 
-- dir22 

<dirset dir="dir1"/> 

將列出所有迪爾斯包括dir211。 我該如何避免這種情況?

回答

4

使用dirset這樣的:

<dirset dir="dir" includes="*"/> 


<dirset dir="dir1"> 
<include name="*"/> 
</dirset> 

評論後編輯

includes attributenested include name應該是等價的,這裏的一些
片斷我的Windows機器上工作,因爲C:\富\欄:

<project> 
<echo> 
    ${ant.version} 
    ${java.version} 
    ${os.name} 
</echo> 
<dirset dir="c:/foo" includes="*" id="foobar" /> 

<echo>${toString:foobar}</echo> 


<dirset dir="c:/foo" id="foobaz"> 
    <include name="*" /> 
</dirset> 

<echo>${toString:foobaz}</echo> 
</project> 

輸出:

Buildfile: C:\rosebud\AntTest\tryme.xml 
    [echo]  Apache Ant(TM) version 1.8.2 compiled on December 20 2010 
    [echo]  1.7.0_02 
    [echo]  Windows 7 
    [echo] 
    [echo] bar 
    [echo] bar 
BUILD SUCCESSFUL 
+0

,似乎正常工作,而屬性「包括」不子元素... – erezul 2012-02-20 19:56:38

+0

你用什麼螞蟻+ Java版本?哪個OS? – Rebse 2012-02-20 21:23:02

0

我想在我的dirset包括日期選擇器,並只能選擇子目錄我的根目錄,這意味着我不能使用includes="*"。我的解決辦法是BTW使用<depth>選擇

<dirset dir="/myroot" excludes="*/*/**"> 
    <date datetime="${cuttoff_time}" 
     pattern="${timeformat}" 
     when="before" 
     checkdirs="true" /> 
    <depth max="1" /> 
</dirset> 
相關問題