Recursively Delete Everything In A Directory Except Things With Certain Extensions (Groovy)
Join the DZone community and get the full member experience.
Join For FreeI use this when I want to prune a copy of my source tree for faster text searching.
def root = "C:\\SEARCH_INDEX";
def exts = new ArrayList();
exts.add("java");
exts.add("properties");
exts.add("xml");
exts.add("xhtml");
exts.add("jsp");
exts.add("html");
exts.add("js");
new File(root).eachFileRecurse { fn->
if (fn.isFile()) {
def ext = fn.name.substring(fn.name.lastIndexOf('.')+1, fn.name.length());
if (!exts.contains(ext)) {
println "kill " + fn
try {
fn.delete()
} catch (Exception e) {
println e
}
}
}
}
Directory
Opinions expressed by DZone contributors are their own.
Comments