我想用时间戳重命名我的应用程序文件夹,然后使用相同的文件夹名称解压缩我的应用程序的较新版本.使用Ant (move任务),看起来您可以将内容从一个文件夹移动到另一个文件夹.
这是我在Ant中做到这一点的唯一方法吗?
小智 21
移动任务确实做了你想要的事情,但命名有点令人困惑.如果您认为您的目录是Java意义上的"文件" - 文件是一个文件系统句柄,可以表示通常意义上的目录或文件 - 那么移动任务是有意义的.
所以以下
<move file="mySourceDirName" tofile="myTargetDirName"/>
Run Code Online (Sandbox Code Playgroud)
指重命名/移动目录mySourceDirName来代替myTargetDirName.
接下来呢
<move file="mySourceDirName" todir="someExistingDir"/>
Run Code Online (Sandbox Code Playgroud)
表示将目录移动mySourceDirName到现有someExistingDir目录的子目录.
因此,在ant中,'file'属性引用所讨论的目标,'todir'属性引用作为目标文件或目录的新父位置的目录.
只是拼写出已经给出的答案,这是正确的......
<project default="move">
<tstamp/>
<target name="move">
<move file="foo" tofile="foo-${TSTAMP}"/>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
这会将 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
$
Run Code Online (Sandbox Code Playgroud)