假设我具有以下文件夹结构:
folder
-subfolderA
-module1.mod
-module1.a
-module1.b
-module1.c
-module2.mod
-module2.a
-module2.b
-module2.c
-module1.d
-subfolderB
-module3.mod
-module3.a
-module3.b
-module3.c
-module3.d
我只想弄平目录的“子文件夹”层,产生以下内容:
outputFolder
-module1.mod
-module1.a
-module1.b
-module1.c
-module2.mod
-module2.a
-module2.b
-module2.c
-module3.mod
-module3.a
-module3.b
-module3.c
-module1.d
-module3.d
我希望这非常简单,它具有:
copy {
from "folder/*/"
into "outputFolder"
}
但这没有用。展平一个(或多个)子目录层的最简单方法是什么?
最佳答案
您可能会这样做
copy {
from 'folder'
include '*/**/*.*'
eachFile { FileCopyDetails fcd ->
int slashIndex = fcd.path.indexOf('/')
fcd.path = fcd.path.substring(slashIndex+1)
}
into "outputFolder"
}
也许
copy {
from { file('folder').listFiles().findAll { it.directory } }
into "outputFolder"
}