复制文件并重命名-Gradle

复制文件并重命名-Gradle,gradle,groovy,build.gradle,Gradle,Groovy,Build.gradle,我知道已经有几个StackOverflow帖子关于Gradle的复制和重命名,但遗憾的是没有一个帖子适用于我的问题 我正在尝试从多个目录复制和重命名文件,以下是我的方法: task copyReportsForDocs(type: Copy) { from rootProject.files("path1", "path2", "path3", "path4") int

我知道已经有几个StackOverflow帖子关于Gradle的复制和重命名,但遗憾的是没有一个帖子适用于我的问题

我正在尝试从多个目录复制和重命名文件,以下是我的方法:

task copyReportsForDocs(type: Copy) {
        from rootProject.files("path1",
                "path2",
                "path3",
                "path4")
        into genDir

        rename '(.*)_$d_(.*)', '$1$2'
    }
应重命名的文件如下所示:

captured_0_foobar_request.adoc
captured_0_foobar_response.adoc
captured_1_fuubar_request.adoc
captured_1_fuubar_response.adoc
foobar_request.adoc
foobar_response.adoc
fuubar_request.adoc
fuubar_response.adoc
我只需要删除前面的部分,使其看起来像这样:

captured_0_foobar_request.adoc
captured_0_foobar_response.adoc
captured_1_fuubar_request.adoc
captured_1_fuubar_response.adoc
foobar_request.adoc
foobar_response.adoc
fuubar_request.adoc
fuubar_response.adoc
感谢您的帮助,谢谢

这对我很有用:

task copyReportsForDocs(type: Sync) {
    from(rootProject.file("path")) {
    include '**/*foo*'
    rename 'captured_\\d+_(.+)', '$1'
    }
}
这对我很有用:

task copyReportsForDocs(type: Sync) {
    from(rootProject.file("path")) {
    include '**/*foo*'
    rename 'captured_\\d+_(.+)', '$1'
    }
}