2014-02-19 2 views
0

Я пытаюсь скопировать файлы из некоторых { динамических } каталогов X в другое место.Ant копирования файлов из динамических каталогов дальше вниз

Некоторые из каталогов назначения должны быть ( же и статические ) как в исходном пути.

Первоначальный макет выглядит следующим образом под новым каталогом A/D.

(A) 
    |_(B) 
     |_(C) 
      |_{X} 
       |_{Y.js} 

Окончательный макет должен выглядеть следующим образом:

A 
|_D 
    |_B 
     |_C 
     |_{X} 
      |_{Y.js} 

Я попытался с помощью regexmapper, но я получаю сообщение, что записи пропускаются, потому что копия не знает, как справиться с этим.

<copy toDir="A/D/" verbose="true">   
     <fileset dir="A/" casesensitive="yes"> 
      <include name="B/C/**/*.js"/> 
     </fileset> 
     <regexpmapper from="B/C/([^/]+)/(.+\.js)" to="B/C/\1/\2"/> 
    </copy> 

Редактировать: Я сейчас пытаюсь использовать Windows, но хочу, чтобы это было портативным.

+0

Если я запускаю сценарий без regexpmapper тега, это, кажется, работает для меня. Я что-то пропустил о том, что представляет {x}? До тех пор, пока он остается неизменным в обеих папках, не думайте, что вам нужно использовать regexpmapper, чтобы изменить его, верно? – mikemil

+0

@mikemil, да, вы правы. Я закончил тем, что не использовал regexmapper. – mvd

+0

Возможно, вам захочется «ответить на собственный вопрос», чтобы закрыть этот пост. – mikemil

ответ

0

Там нет необходимости использовать regexmapper и вот решение, которое я придумал:

<copy toDir="A/D" verbose="true"> 
     <fileset dir="A" casesensitive="no" overwrite="true"> 
      <include name="B/C/**/*.js"/> 
     </fileset> 
    </copy> 
Смежные вопросы