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)
答
像这样的东西应该工作:
<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
'scale'是什么意思 - 将这4个目录的内容合并为一个? – 2010-12-01 13:19:47
是的。我的意思是将这4个目录合并为一个。 – 2010-12-01 14:26:29