我试图通过标记目录中的文件名来压缩文件。带有该令牌的文件应压缩到相应的文件夹中。 这段代码正在这样做,但它并没有完全过滤。在abc文件夹中,只有 abc 的文件应该存在,但是包含 def 的文件也包含在内,这是不可取的。其他文件夹的方式。但是如果有一个文件包含 a 然后正确进行过滤,并根据除 abc 之外的所有令牌的excludestring正确完成压缩。请在下面找到代码。 请提出任何建议。
tokenList.each{token ->
for(i in tokenList)
{
excludeString = tokenList - token
println "excludeString for " +token + "is:" +excludeString
println "Creating zip folder for " +token
ant.zip( basedir: outputDir, destfile: token.substring(1,token.length()-1) +".zip", excludes: excludeString, update:true)
break
}
}
output
TokenList: [*abc*, *def*, *ghi*, *jkl*]
excludeString for *abc*is:[*def*, *ghi*, *jkl*]
Creating zip folder for *abc*
excludeString for *def*is:[*abc*, *ghi*, *jkl*]
Creating zip folder for *def*
excludeString for *ghi*is:[*abc*, *def*, *jkl*]
Creating zip folder for *ghi*
excludeString for *jkl*is:[*abc*, *def*, *ghi*]
Creating zip folder for *jkl*