24

ディレクトリの内容をすべて削除する方法がわかりません。

ディレクトリを一掃するために、その中のすべてのファイルとディレクトリを削除したい: 内部にあるすべてのもの (ファイルとディレクトリ) を消去したい.

削除タスクでこれを試しましたが、ファイルだけでなくディレクトリも削除するようにすることはできません。ディレクトリを指定するさまざまな方法を試しましたが、何も機能しません。

task deleteGraphicsAssets(type:Delete) {
    delete fileTree('src').include('**/*')
}

.

task deleteGraphicsAssets(type:Delete) {
    delete fileTree('src').include('/')
}

.

task deleteGraphicsAssets(type:Delete) {
    delete fileTree('src').include('*')
}

どんな助けでも大歓迎です!


編集:

これは機能しますが、ハックのように見えます。

task deleteGraphicsAssets(type: Delete) {
    def dirName = "src"
    delete dirName

    doLast {
        file(dirName).mkdirs()
    }
}

私は次のようなものを探していました:

task deleteGraphicsAssets(type: Delete) {
    deleteContentsOfDirectory "src"
}

また

task deleteGraphicsAssets(type: Delete) {
    delete {dir : "src", keepRoot : true }
}
4

6 に答える 6

30

srcディレクトリとそのすべての内容を削除するには:

task deleteGraphicsAssets(type: Delete) {
    delete "src"
}
于 2013-10-10T15:35:03.690 に答える
11

以下は、src フォルダーからすべてのコンテンツを削除しますが、フォルダー自体はそのまま残します。

task deleteGraphicsAssets(type: Delete) {
    def dirName = "src" 
    file( dirName ).list().each{
        f -> 
            delete "${dirName}/${f}"
    }
}
于 2015-08-04T11:09:13.827 に答える
10

回答済みのトピックを復活させるリスクがありますが、これを行う比較的簡単な方法があります。

このタスクは、ファイル ツリーをたどったり、「src」ディレクトリに移動したりせずに、「src」の下のすべてのファイルとディレクトリを削除します。

task deleteGraphicsAssets(type:Delete) {
    delete file('src').listFiles()
}
于 2018-01-31T04:41:56.727 に答える
3
clean {
    delete += fileTree('src').include('**/*')
}

この「クリーン」タスクの構成は機能しているようです。

于 2014-05-20T10:50:57.663 に答える