复制最新文件夹Gradle

时间:2018-12-15 15:22:41

标签: gradle

我正在尝试使用gradle从insde文件夹中复制最新的文件夹,但我的脚本是对所有文件夹进行排序并复制最新文件夹中的文件。

下面是脚本。

task test(type: Copy) {
   from(new Source("D:\\test").listFiles().sort{ it.lastModified() }.last())
   into(new Source("D:\\folder\\output"))
}

我在测试目录中得到的是

test
└──folder1
|      test1.txt
└──folder2
|      test2.txt

如果说测试目录中的folder2是最新的文件夹,则输出为

test2.txt

但是我期望输出为

folder2
 └─ test2.txt

以及其中的内容。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

这应该有效:

task testCopy(type: Copy) {
    def latestDirName = file("test").listFiles().sort{ it.lastModified() }.last().name
    from file("test") , {
        include "$latestDirName/"
    }
    into(file("folder/output"))
}

说明

在当前的任务实现中,您已编写:

from(new Source("D:\\test").listFiles().sort{ it.lastModified() }.last())

相当于(假设文件夹folder1是最新的):

from(new Source("D:\\test\\folder1"))

Gradle将使用d:/test/folder1作为副本的源文件夹:此文件夹的内容(不是文件夹本身)将被复制到目标目录。