从Ant filterset中排除图像或其他二进制文件

从Ant filterset中排除图像或其他二进制文件,ant,filter,Ant,Filter,如何从过滤器集中排除图像和其他二进制文件?filterset操作会在复制操作后损坏图像。我猜它可能会损坏其他二进制文件,如MP3或视频 这是复制任务: <target name="copyCore" description="Copy core files and folders"> <copy todir="${deploy.dir}" includeEmptyDirs="no"> <fileset dir="${src.dir}">

如何从过滤器集中排除图像和其他二进制文件?filterset操作会在复制操作后损坏图像。我猜它可能会损坏其他二进制文件,如MP3或视频

这是复制任务:

<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 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>

是否有一种方法可以根据过滤器集中的文件类型排除文件?

在中,
按文件扩展名排除二进制文件类型

<exclude name="**/*.mp3"/>
<exclude name="**/*.mp4"/>
<include name="**/*.txt"/>
<include name="**/*.py"/>
具体地说,要回答您的问题,过滤器集本身没有办法按类型或名称模式包含或排除文件

设计用于在文本文件中进行过滤。Ant手册页面上说:

注意:在操作中使用过滤器集时,文件是 以文本模式处理,并逐行应用过滤器。这 意味着复制操作通常会损坏二进制文件。 应用筛选器时,应确保 过滤后的文件都是文本文件


您需要在二进制文件到达过滤器集之前排除它们。

这与我已经实现的类似。然而,我的问题是,我们是否可以排除在过滤器集中。谢谢。更新答案。没有过滤器集本身不这样做。