java - Ant:重命名同名的子目录

标签 java ant rename

假设我有一个这样的目录结构:

  • 动物/狗/细节
  • 动物/猫/细节
  • 动物/ Frog /细节
  • 动物/马/细节

使用 ant,我想将 animals 下名为 details 的所有子目录重命名为 new。所以结果是这样的:

  • 动物/狗/新
  • 动物/猫/新
  • 动物/ Frog /新
  • 动物/马/新

我试过这样的:

    <move tofile="new">
        <path id="directories.to.rename">
            <dirset dir="animals">
                <include name="**/details"/>
            </dirset>
        </path>
    </move>

但是得到这个错误:

Cannot concatenate multiple files into a single file.

最佳答案

您可以通过 mapper 执行您描述的重命名.例如:

<move todir="animals">
    <dirset dir="animals" includes="**/details" />
    <globmapper from="*/details" to="*/new"/>
</move>

(在 move task docs 的末尾有一个类似的例子。)

您看到的错误是因为您混合了移动任务 (tofile) 的单文件模式和多文件模式。 无需将 dirset 嵌套在 path 中,因为 move 任务接受任何基于文件的资源集合,包括 dirset.

关于java - Ant:重命名同名的子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10508805/

相关文章:

java - 如何在playframework java中使用json-api格式?

java - 使用继承时如何进行强封装?

java - 如何修复 Apache Ivy 中的逐出模块问题

java - Maven java maven-antrun-plugin

html - 跨 CSS 文件重命名 HTML 类

重命名管道中的多个变量

file - 通过重新格式化现有文件名来重命名文件-与-replace运算符一起使用的替换字符串中的占位符

java - java中如何将统计数据写入滚动文件

java - Android - 如何在 fragment 之间传递数据

java - 如何压缩已经构建的jar文件?