Gradle - 将文件夹从ABC移动到XYZ

Aru*_*gal 15 directory rename file move gradle

目录结构:

PROJECT1/ABC/FILE1.TXT

我想将上面的ABC文件夹移动/重命名为XYZ(不留ABC).

我怎么能用Gradle做到这一点.似乎在Gradle中:对于一个右手的人来说,用左手搔痒你的右耳,将它从头顶掠过.

我使用了以下示例:但它没有做任何事情:

task renABCToXYZ(type: Copy) << {
   copy {
      from "Project1"
      into "Project1"
      include 'ABC'
      rename ('ABC', 'XYZ')
   }
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*ser 23

您的任务声明错误地组合了Copy任务类型和project.copy方法,导致任务无需复制,因此永远不会运行.此外,Copy不是重命名目录的正确选择.没有用于重命名的Gradle API,但是一些Groovy代码(利用Java的FileAPI)可以做到.假设Project1是项目目录:

task renABCToXYZ {
    doLast {
        file("ABC").renameTo(file("XYZ"))
    }
}
Run Code Online (Sandbox Code Playgroud)

从更大的角度来看,将重命名逻辑(即doLast任务操作)添加到生成的任务中可能更好ABC.


Mat*_*s M 11

使用上面给出的解决方案,您可以重命名文件和文件夹,您可以移动文件,但不能使用renameTo将文件夹移动到另一个目标.对于这种情况,你必须使用ant.move:

 ant.move(file: sourceDir, tofile: targetDir)
Run Code Online (Sandbox Code Playgroud)

备注:问题是关于重命名文件夹.所以上面的答案是正确的(但问题有点含糊不清).但也许我的回答对其他用户有用,他们可以解决这个问题,并希望移动移动文件夹.