I'm trying to get (not print, that's easy) the list of files in a directory and its sub directories.
I've tried:
def folder = "C:\\DevEnv\\Projects\\Generic"; def baseDir = new File(folder); files = baseDir.listFiles();
I only get the directories. I've also tried:
def files = []; def processFileClosure = { println "working on ${it.canonicalPath}: " files.add (it.canonicalPath); } baseDir.eachFileRecurse(FileType.FILES, processFileClosure);
But "files" is not recognized in the scope of the closure.
How do I get the list?
How to list all files a folder recursively in command line ? With a ms dos prompt, to list all the files inside a folder. To do so, type the dir command to list the folder content with the recursive dedicated option.
The ls command is used to list files or directories in Linux and other Unix-based operating systems. Just like you navigate in your File explorer or Finder with a GUI, the ls command allows you to list all files or directories in the current directory by default, and further interact with them via the command line.
Recursively lists all files and directories in the current directory and any subdirectories, in wide format, pausing after each screen of output.
This code works for me:
import groovy.io.FileType def list = [] def dir = new File("path_to_parent_dir") dir.eachFileRecurse (FileType.FILES) { file -> list << file }
Afterwards the list variable contains all files (java.io.File) of the given directory and its subdirectories:
list.each { println it.path }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With