0

嗨,这是我将文件从一个位置复制到另一个位置的代码

<copy file="${MyParam}\${files.Sloc}\${files.names}" tofile="..\${cmdname}\${files.Tloc}\${files.names}"> </copy>

虽然它正在将文件完美地复制到它的目的地,但你的问题是它正在删除以前的目录结构,如果我有

D:/a/b/c/d/ee如果我现在已经有文件,1,2,3,4如果我想将另一个文件放入e,而不是将其放入e上述任务中,首先删除D:/a/b/c/d/e 所有文件e并创建新路径D:/a/b/c/d/e并将新文件放在那里,所以我失去了一切。无论如何,请帮助。尝试了一些事情,但他们没有工作。

4

1 回答 1

0

你错了。我创建了这个例子:

<project default="run">
<target name="run">
    <!-- create new directory with some files -->
    <delete dir="a/b/c/d/e"/>
    <mkdir dir="a/b/c/d/e"/>
    <touch file="a/b/c/d/e/1"/>
    <touch file="a/b/c/d/e/2"/>

    <!-- list directory contents -->
    <fileset id="e.contents.before" dir="a/b/c/d/e"/>
    <property name="prop.e.contents.before" refid="e.contents.before"/>
    <echo>Before copy: ${prop.e.contents.before}</echo>

    <!-- copy some file to directory -->
    <copy file="build.xml" tofile="a/b/c/d/e/build.xml"> </copy>

    <!-- list directory contents -->
    <fileset id="e.contents.after" dir="a/b/c/d/e"/>
    <property name="prop.e.contents.after" refid="e.contents.after"/>
    <echo>After  copy: ${prop.e.contents.after}</echo>
</target>

输出在 Linux 上使用 Ant 1.8.2:

构建文件:/tmp/t/build.xml

运行:
[delete] 删除目录/tmp/t/a/b/c/d/e
[mkdir] 创建目录:/tmp/t/a/b/c/d/e
[touch] 创建/tmp/t/ a/b/c/d/e/1
[touch] 创建 /tmp/t/a/b/c/d/e/2
[echo] 复制前:1;2
[copy] 将 1 个文件复制到 /tmp/ t/a/b/c/d/e
[echo] 复制后:1;2;build.xml

构建成功
总时间:0 秒

于 2012-05-24T16:53:33.997 回答