我尝试删除folderPath
中可以找到的文件。但是我只想删除那些名字"詹金斯"
如何在列表中定义只删除该文件。?
示例:
在C:\ test \ test中有3个文件,要删除名称中包含Jenkins的文件:
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
}
感谢您的提示!
答案 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()}