使用ant builder压缩文件并排除在groovy中无法正常工作

时间:2018-05-14 08:21:53

标签: groovy

我试图通过标记目录中的文件名来压缩文件。带有该令牌的文件应压缩到相应的文件夹中。 这段代码正在这样做,但它并没有完全过滤。在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*

0 个答案:

没有答案