从Ant过滤器集中排除图像或其他二进制文件



如何从过滤器集中排除图像和其他二进制文件?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按文件扩展名显示二进制文件类型。

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

和/或,include仅根据文件扩展名选择所需的文本文件类型。

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

特别是为了回答您的问题,不,在过滤器集本身中没有一种方法可以按类型或名称模式包括或排除文件。

过滤器集设计用于在文本文件中进行过滤。蚂蚁手册页面上写着:

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

您需要排除二进制文件,然后才能到达过滤器集。

相关内容

最新更新