2016-06-21 6 views
0

私は以下のフォルダ構造を持っています(任意の数の子フォルダがあり、その名前はわかりません)。親フォルダへのパスしかありません。Gradleスクリプト:子フォルダと追加フォルダの内容を新しい場所にコピーします。

Parent 
    | Child_folder_0 
    | Child_folder_N 

同様と呼ばれる別のフォルダとして、私は別の場所に(そしてそれは、コンテンツです)それぞれの子フォルダをコピーするだけでなく、へcontentFolderの内容をコピーしようとしています

contentFolderそれぞれの子フォルダの新しいですロケーション。

ありがとうございます!

答えて

1

次のコード:

├── 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 

├── 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 

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']) 

は、次のディレクトリ構造が変形します

関連する問題