使用映射器转换多种文件格式的 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 会将单个“$”解释为 属性 引用的开头。
我想将多种文件格式转换为一种文件格式。 示例: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 会将单个“$”解释为 属性 引用的开头。