我想用时间戳重命名我的应用程序文件夹,然后使用相同的文件夹名称解压我的应用程序的较新版本。使用Ant (move
task),看起来您可以将内容从一个文件夹移动到另一个文件夹。如何使用Ant重命名文件夹?
这是我能在蚂蚁做到这一点的唯一途径?
我想用时间戳重命名我的应用程序文件夹,然后使用相同的文件夹名称解压我的应用程序的较新版本。使用Ant (move
task),看起来您可以将内容从一个文件夹移动到另一个文件夹。如何使用Ant重命名文件夹?
这是我能在蚂蚁做到这一点的唯一途径?
我认为此举任务是你想要的。有没有理由不想使用它?
这听起来像你提出移动文件夹中,你的build.xml文件的生活。是对的吗?如果是这样,我想蚂蚁可能不会太高兴。
就拼出已经给出了答案,这是正确的...
<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
$
我将tofile改为todir,它工作正常。谢谢。 – JLau 2009-07-01 18:54:52
我试过tofile和todir,都没有工作。它抱怨'foo'找不到 - 它存在,但是是一个目录。 – 2011-10-13 10:35:46
此举任务并做你以后,但命名比较混乱。如果你认为你的目录是Java文件中的'文件' - 一个文件是一个文件系统句柄,可以表示一个通常意义上的目录或文件,然后这个移动任务是有意义的。
所以下面
<move file="mySourceDirName" tofile="myTargetDirName"/>
方式重命名/移动目录mySourceDirName
是不是myTargetDirName
。
下然后
<move file="mySourceDirName" todir="someExistingDir"/>
意味着移动目录mySourceDirName
成为现有someExistingDir
目录的子目录。
所以,在蚂蚁的“文件”属性指的是有问题的目标,和“todir”属性指的是目标文件或目录的新的父位置的目录。
如果要重命名的文件夹,您可以使用移动标签,但它没有使用它一个神秘的方式。由于@phasmal说你可以使用移动,但它会移动所需文件夹内的文件夹。如果您只想重命名,请尝试以下操作。
<move todir="newname">
<fileset dir="directory tobe renamed "/>
</move>
现在在我的build.xml中我有它来删除该文件夹,然后解压zip文件,该文件会自动创建一个具有相同文件夹名称的新文件夹。现在,而不是删除该文件夹,我想要重新命名一个时间戳附加到文件夹名称。 – JLau 2009-06-25 12:51:44