我想用时间戳重命名我的应用程序文件夹,然后使用相同的文件夹名称解压缩我的应用程序的较新版本。使用Ant (move
task),您可以将内容从一个文件夹移动到另一个文件夹。
这是我在Ant中执行此操作的唯一方法吗?
答案 0 :(得分:20)
移动任务确实可以完成您所追求的目标,但命名有点令人困惑。如果您认为您的目录是Java意义上的“文件” - 文件是一个文件系统句柄,可以表示通常意义上的目录或文件 - 那么移动任务是有意义的。
以下
<move file="mySourceDirName" tofile="myTargetDirName"/>
表示将目录mySourceDirName
重命名/移动为myTargetDirName
。
以下
<move file="mySourceDirName" todir="someExistingDir"/>
表示将目录mySourceDirName
移动到现有someExistingDir
目录的子目录。
因此,在ant中,'file'属性引用了相关目标,'todir'属性引用了目标文件或目录的新父位置。
答案 1 :(得分:4)
只是说出已经给出的答案,这是正确的......
<project default="move">
<tstamp/>
<target name="move">
<move file="foo" tofile="foo-${TSTAMP}"/>
</target>
</project>
这会将foo移动到foo-HHMM。
例如:
$ find .
.
./build.xml
./foo
./foo/bar.txt
$
$ ant
Buildfile: C:\tmp\ant\build.xml
move:
BUILD SUCCESSFUL
Total time: 0 seconds
$
$ find .
.
./build.xml
./foo-1145
./foo-1145/bar.txt
$
答案 2 :(得分:1)
如果你想重命名文件夹,你可以使用移动标签,但它有一种神秘的方式来使用它。正如@phasmal所说,你可以使用move但它会将文件夹移动到所需文件夹中。如果您只想重命名,请尝试以下操作。
<move todir="newname">
<fileset dir="directory tobe renamed "/>
</move>
答案 3 :(得分:0)
我认为移动任务就是你想要的。你有什么理由不想使用它吗?
听起来你提议移动build.xml文件所在的文件夹。是对的吗?如果是这样,我想蚂蚁可能不会太高兴。