Я пытаюсь заархивировать файлы с помощью токенизации имен файлов в каталоге. Файлы с этим токеном должны быть заархивированы в соответствующую папку.
Этот код делает это, но не фильтрует точно. В папке abc должны присутствовать только файлы с abc , но также включены файлы с def , что не ожидается. То же самое для других папок. Но если есть файл с a тогда фильтрация происходит правильно, и архивирование выполняется должным образом согласно исключающей строке для всех токенов, кроме abc . Пожалуйста, найдите код ниже.
Любые предложения, пожалуйста.
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*