我有以下文件夹结构(有一个任意数量的子文件夹,名称不知道)。我只有可用的父文件夹的路径。
Parent
| Child_folder_0
| Child_folder_N
以及名为contentFolder
我正在尝试将每个子文件夹(及其内容)复制到其他位置,并将contentFolder
的内容复制到每个子文件夹的新位置。
谢谢!
答案 0 :(得分:1)
以下代码:
def parentFolder = 'Parent'
def contentFolder = 'contentFolder'
def destDir = 'destDir'
task copyChildFilesFromParent(type: Copy) {
from(parentFolder) {
include '**/*'
}
into destDir
}
task copyContentFilesIntoChildren() {
(parentFolder as File).eachDir { childDir ->
copy {
from(contentFolder) {
include '**/*'
}
into "$destDir/${childDir.name}"
}
}
}
task copyFiles(dependsOn: ['copyChildFilesFromParent', 'copyContentFilesIntoChildren'])
将转换以下目录结构:
├── build.gradle
├── contentFolder
│ ├── content.txt
│ └── data.dat
└── Parent
├── Child_folder_0
│ ├── 0.dat
│ └── data.0
├── Child_folder_1
│ ├── 1.dat
│ └── data.1
├── Child_folder_2
│ ├── 2.dat
│ └── data.2
└── Child_folder_N
├── data.N
└── N.dat
到
├── destDir
│ ├── Child_folder_0
│ │ ├── 0.dat
│ │ ├── content.txt
│ │ ├── data.0
│ │ └── data.dat
│ ├── Child_folder_1
│ │ ├── 1.dat
│ │ ├── content.txt
│ │ ├── data.1
│ │ └── data.dat
│ ├── Child_folder_2
│ │ ├── 2.dat
│ │ ├── content.txt
│ │ ├── data.2
│ │ └── data.dat
│ └── Child_folder_N
│ ├── content.txt
│ ├── data.dat
│ ├── data.N
│ └── N.dat