Groovy从列表中删除特定文件

时间:2017-08-25 09:50:46

标签: file groovy

我尝试删除folderPath中可以找到的文件。但是我只想删除那些名字"詹金斯" 如何在列表中定义只删除该文件。?

示例:
在C:\ test \ test中有3个文件,要删除名称中包含Jenkins的文件:

Files

import groovy.io.FileType

String folderPath = "C:\\test" + "\\" + "test"
def list = []
def dir = new File("$folderPath")
dir.eachFileRecurse (FileType.FILES) { file ->
  list << file
}
list.each {
println it.findAll() == "Jenkins" // Just files witch include in list "Jenkins" name
}

感谢您的提示!

1 个答案:

答案 0 :(得分:2)

你走了:

使用以下两种方法之一:

import groovy.io.FileType

String folderPath = "C:/test/test"
new File(folderPath).eachFile (FileType.FILES) { file ->
//Delete file if file name contains Jenkins
   if (file.name.contains('Jenkins')) file.delete()
}

下面一个使用FileNameFinder

String folderPath = "C:/test/test"
def files = new FileNameFinder().getFileNames(folderPath, '**/*Jenkins*')
println files
files.each { new File(it).delete()}