2012-03-10 36 views
0

我有以下Ant目標:如何指定匹配*〜的文件?

<delete> 
    <fileset dir="${qnaire_dir}" includes="**/*~" /> 
    </delete> 

它不會刪除以下文件:

./DETAILS~ 
./qnaire/__init__.py~ 
./qtest.py~ 
./README~ 

什麼是正確的包括值以匹配這些文件?

回答

2

我找到答案了一切!我一直在尋找的語法:

<defaultexcludes remove="**/*~" /> 
    <delete> 
    <fileset dir="${qnaire_dir}" includes="**/*~" /> 
    </delete> 
    <defaultexcludes default="true" /> 

掠過螞蟻文檔刪除任務後(http://ant.apache.org/manual/Tasks/delete.html)五六次,我最後居然注意到這樣一句話:

如果使用此任務可以刪除通過編輯器創建的臨時文件,它似乎並沒有工作,閱讀 了在基於目錄的任務設置默認的排斥,並看到defaultexcludes屬性下面是 。

所以我去了解有關defaultexludes。事實證明,默認情況下ant會從所有基於目錄的任務中排除一組文件表達式。這些在這裏列出:http://ant.apache.org/manual/dirtasks.html#defaultexcludes

添加第一個defaultexludes元素並從列表中刪除'*〜'允許後續刪除任務做正確的事情。第二個defaultexcludes元素將默認排除列表放回原位。

0

,如果你需要的正則表達式匹配這個用〜

.*\~ 
+1

那麼,我將如何在任務中使用它來匹配問題中的文件? – 2012-03-14 19:54:20

相關問題