尝试重命名目录的子目录时出现问题:文件也被重命名

时间:2018-10-29 16:27:28

标签: ant

早上好

使用Ant,我想重命名目录的所有子目录(此目录为$ {main.src.dir} / $ {new.package.name}),这些子目录的名称中包含属性(命名包)的值.name),再加上另一个属性(名为new.package.name)的值。为此,我使用以下Ant命令:

<move file="${main.src.dir}/${new.package.name}" tofile="${main.src.dir}/${new.package.name}">

    <!-- Selects all subdirectories from new.package.name directory. -->
    <dirset dir="${main.src.dir}/${new.package.name}"/>

    <!-- Replaces all occurrences of package.name by new.package.name. -->
    <filtermapper>
        <replacestring from="${package.name}" to="${new.package.name}"/>
    </filtermapper>

</move>

在所有子目录名称中,所有出现的$ {package.name}被$ {new.package.name}替换,但是问题在于$ {main.src.dir} / $ {new.package中的所有文件名称中包含$ {package.name}的.name}也被重命名为我不想要的名称。

如果我使用的话,还会添加相同的内容

<move file="${main.src.dir}/${new.package.name}" tofile="${main.src.dir}/${new.package.name}">

    <!-- Selects all subdirectories from new.package.name directory. -->
    <fileset dir="${main.src.dir}/${new.package.name}">
        <type type="dir"/>
    </fileset>

    <!-- Replaces all occurrences of package.name by new.package.name. -->
    <filtermapper>
        <replacestring from="${package.name}" to="${new.package.name}"/>
    </filtermapper>

</move>

作为回报,如果我只想重命名目录中的文件,还会添加相同的内容:子目录也被重命名。

你有什么主意吗?谢谢。

0 个答案:

没有答案