Цель Ant для перемещения каталогов из другого каталога - PullRequest
6 голосов
/ 01 декабря 2010


Как переместить каталоги в один каталог с помощью задачи Ant?

Моя структура каталогов выглядит так:

my/directory/root
               |-dir1/one/same/lib
               |-dir2/two/same/lib
               |-dir3/three/same/lib
               |-dir4/four/same/lib

И я хотел бы переместить и масштабировать папки "same / lib" и переместить их в "my / directory / root"
(наконец: мой каталог / root / same / lib)

Ответы [ 2 ]

4 голосов
/ 01 декабря 2010

Примерно так должно работать:

<target name="moveDirs">
  <mkdir dir="my/directory/root/merged" failonerror="false">
  <move todir="my/directory/root/merged">
    <fileset dir="my/directory/root">
      <include name="dir*/*"/>
    </fileset>
    <mapper>
        <regexpmapper from="^(.*?)dir[0-9]+.(.*)$" to="\1\2"/>
    </mapper>
  </move>
</target>

Ссылка:

1 голос
/ 01 декабря 2010

Взгляните на задачу Перемещение муравья . Попробуйте следующее:

<target name="moveDirs">
  <mkdir dir="my/directory/root/same/lib" failonerror="false">
  <move todir="my/directory/root/same/lib">
    <fileset dir="my/directory/root/dir1/one/same/lib">
      <include name="**/*"/>
    </fileset>
  </move>
  <move todir="my/directory/root/same/lib">
    <fileset dir="my/directory/root/dir2/two/same/lib">
      <include name="**/*"/>
    </fileset>
  </move>
  <move todir="my/directory/root/same/lib">
    <fileset dir="my/directory/root/dir3/three/same/lib">
      <include name="**/*"/>
    </fileset>
  </move>
  <move todir="my/directory/root/same/lib">
    <fileset dir="my/directory/root/dir4/four/same/lib">
      <include name="**/*"/>
    </fileset>
  </move>
</target>
...