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 будет интерпретировать один "$" как начало ссылки на свойство.

Другие вопросы по тегам