使用映射器转换多种文件格式的 Ant 脚本 - 创建双扩展文件

Ant Script for converting multiple file formats using mappers- creating double extension files

我想将多种文件格式转换为一种文件格式。 示例:D:\myrepo\rough 有 3 个文件 1. abc.sql 2. def.xml 3.ghi.dmp

我希望使用 glob 映射器将它们全部转换为 .txt。

<?xml version ="1.0"?>
<project name = "roughone" default="taget1">
    <target name= "target1">
      <move todir="D:\myrepo\rough">
      <fileset dir="D:\myrepo\rough">
      </fileset>
      <mapper type ="glob" from="*" to="*.txt"/>
      </move>
    </target>
</project>

这是给予 1. abc.sql.txt 2. def.xml.txt 3. ghi.dmp.txt 我只需要 abc.txt,def.txt 和 ghi.txt.

请告诉我如何解决这个问题(from= "." 也没有帮助)。

将您的 globmapper 替换为以下 <regexpmapper>

<regexpmapper from="^(.*)[.][^.]+$$" to=".txt"/>

以上正则表达式捕获每个文件名中最后一个句点之前的部分。正则表达式还会丢弃文件以前的任何扩展名。

需要双“$$”,因为 Ant 会将单个“$”解释为 属性 引用的开头。