有没有办法使用 gradle 从一个文件夹中解压多个文件?
Is there a way to unzip multiple files from a folder using gradle?
我正在尝试使用 Gradle 将一个文件夹中的多个 .zip
文件解压缩到另一个文件夹中。我可以使用 Gradle 解压缩文件,但我想弄清楚如何在不必指定每个 .zip
文件的名称的情况下解压缩目录中的所有 .zip
文件。我将提供一个我目前拥有的例子。下面的代码没有,我不确定我需要更改什么才能获得所需的结果,即从一个目录中解压缩所有文件并将解压缩的文件放入新目录中。
task unzip(type: Copy) {
from zipTree("$rootDir/destination_folder") {
include "**/*.zip"
into "$new_folder"
}
}
方法 zipTree
解压缩单个 .zip
文件和 returns 一个 FileTree
以及 .zip
中的所有文件。在您当前的代码中,Gradle 将 "$rootDir/destination_folder"
解释为 .zip
文件的路径。它可能找不到这个 .zip
文件,但即使它可以找到,它也会将包含的文件限制为与 "**/*.zip"
匹配的文件,因此只有 .zip
文件在你的 .zip
文件中被复制。
与其直接使用只能解析单个 .zip
文件的 zipTree
,不如从 fileTree
开始,以收集文件夹中的 .zip
文件.然后,您可以对以下每个文件使用 zipTree
:
task unzip(type: Copy) {
fileTree(dir: 'sourceDir', includes: ['**/*.zip']).each { zipFile ->
from zipTree(zipFile)
}
into 'targetDir'
}
我正在尝试使用 Gradle 将一个文件夹中的多个 .zip
文件解压缩到另一个文件夹中。我可以使用 Gradle 解压缩文件,但我想弄清楚如何在不必指定每个 .zip
文件的名称的情况下解压缩目录中的所有 .zip
文件。我将提供一个我目前拥有的例子。下面的代码没有,我不确定我需要更改什么才能获得所需的结果,即从一个目录中解压缩所有文件并将解压缩的文件放入新目录中。
task unzip(type: Copy) {
from zipTree("$rootDir/destination_folder") {
include "**/*.zip"
into "$new_folder"
}
}
方法 zipTree
解压缩单个 .zip
文件和 returns 一个 FileTree
以及 .zip
中的所有文件。在您当前的代码中,Gradle 将 "$rootDir/destination_folder"
解释为 .zip
文件的路径。它可能找不到这个 .zip
文件,但即使它可以找到,它也会将包含的文件限制为与 "**/*.zip"
匹配的文件,因此只有 .zip
文件在你的 .zip
文件中被复制。
与其直接使用只能解析单个 .zip
文件的 zipTree
,不如从 fileTree
开始,以收集文件夹中的 .zip
文件.然后,您可以对以下每个文件使用 zipTree
:
task unzip(type: Copy) {
fileTree(dir: 'sourceDir', includes: ['**/*.zip']).each { zipFile ->
from zipTree(zipFile)
}
into 'targetDir'
}