Ant Script для преобразования нескольких форматов файлов с помощью картографов - создание файлов с двойным расширением
Я хочу конвертировать несколько форматов файлов в один формат файла. Пример: D:\myrepo\rough имеет 3 файла 1. abc.sql 2. def.xml 3. ghi.dmp
Я хочу, чтобы все они были конвертированы в.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.
Пожалуйста, дайте мне знать, как это можно исправить (с = "." Тоже не помогает).
1 ответ
Решение
Замените свой globmapper
со следующим <regexpmapper>
:
<regexpmapper from="^(.*)[.][^.]+$$" to="\1.txt"/>
Приведенное выше регулярное выражение фиксирует часть имени каждого файла до последнего периода. Регулярное выражение также отбрасывает любое расширение файла, которое ранее имело.
Двойной "$$" необходим, потому что Ant будет интерпретировать один "$" как начало ссылки на свойство.