Ant目标将目录移出另一个目录

问题描述:


如何使用Ant任务将目录移动到一个目录?Ant目标将目录移出另一个目录

我的目录结构是这样的:

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

而且我想移动和缩放文件夹“相同的/ lib目录”,并将其移到“我/目录/根”
(最后:我的/目录/ root/same/lib)

+0

'scale'是什么意思 - 将这4个目录的内容合并为一个? – 2010-12-01 13:19:47

+0

是的。我的意思是将这4个目录合并为一个。 – 2010-12-01 14:26:29

像这样的东西应该工作:

<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> 

参考:

看一看Ant Move Task。 尝试以下操作:

<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> 
+0

你知道怎么做更自动吗?因为像'dir1''dir2'这样的目录太多了。 – 2010-12-01 11:33:38