This functions goal is to return a cell array of names of files located under user defined folders. The input should be a cell array of parent directories. The function also supports input of a single directory name string. Absolute file path is used, replacing the relative path.
The user can choose the files or directories including files using the OS explorer- by enabling the 'flagGUI' input.
I was somewhat un-pleased from the multiple similar function were proposed and submitted to Matlab File exchange (no offence, with greatest respect to the authors and their work):
During my first programming course I was taught that code using recursion is a bad code. Recursive code is hard to understand, develop and maintain.
Changing folders or Matlab path during run time is also a bad thing- it takes more time and can cause unwanted effects in Matlab environment.
Therefore I've written my implementation, witch, I believe, has some advantages over methods proposed earlier:
- It is not recursive but iterative.
- It does not changes the current folder (not using cd command).
- It uses "ls" function, which is supposed to be faster then "dir" function.
- According to some measurements I've made it runs faster the the alternatives.
- I also believe is is clearly written, so it should be easy to understand and maintain.
- It supports wildCards.
Nikolay S. (2021). Folders tree files list (https://www.mathworks.com/matlabcentral/fileexchange/41170-folders-tree-files-list), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: folders sub-folders
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!