2014-09-01 50 views
2

如何從filtersets排除圖像和其他二進制文件?複製操作後,filterset操作會破壞圖像。我想它可能會損壞其他二進制文件,如MP3或視頻。從螞蟻filterset排除圖像或其他二進制文件

這是副本任務:

<target name="copyCore" description="Copy core files and folders"> 
    <copy todir="${deploy.dir}" includeEmptyDirs="no"> 
     <fileset dir="${src.dir}"> 
      <patternset refid="core.files" /> 
     </fileset> 
     <filterset refid="myFilterSet"></filterset> 
    </copy> 
</target> 

這是filterset:

<filterset id="myFilterSet"> 
    <filter token="author" value="${author}" /> 
    <filter token="title" value="${title}" /> 
    <filter token="module" value="${module}" /> 
    <filter token="lang" value="${lang}" /> 
    <filter token="buildDate" value="${build.date}" /> 
    <filter token="buildTime" value="${build.time}" /> 
</filterset> 

有沒有一種方法來排除基於在filtersets文件類型的文件?

回答

1

在您的patternsetexclude文件擴展名爲二進制文件類型。

<exclude name="**/*.mp3"/> 
<exclude name="**/*.mp4"/> 

和/或include只有您想要的文本文件類型,通過文件擴展名。

<include name="**/*.txt"/> 
<include name="**/*.py"/> 

具體回答你的問題,不存在不filterset本身的方式包括,類型或名稱模式排除文件。

Filterset s旨在過濾文本文件。螞蟻手冊頁說:

注意:當在操作中使用filterset時,文件是在文本模式下處理的 並且逐行應用濾鏡。 意味着複製操作通常會破壞二進制文件。 應用過濾器時,應確保過濾的文件集 都是文本文件。

您需要在之前排除二進制文件他們擊中了filterset。

+0

這與我已經實現的類似。但是,我的問題是,如果我們可以在_filtersets_中排除。謝謝。 – Shiyaz 2014-09-13 12:39:51

+1

已更新的答案。沒有filterset本身不會這樣做。 – sudocode 2014-09-14 18:11:55