我知道已经有一些关于为Gradle复制和重命名的StackOverflow帖子,但不幸的是,似乎都没有适用于我的问题...

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

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

任何帮助表示赞赏,谢谢!

最佳答案

这对我有用:

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

09-26 14:06