Enhanced version of RDIR function, fixing some bugs and adding some features.
- Basic use is similar to Matlab "dir" function, which allow you to list files and directories in a given path :
When asked, rdir output structure is the same as dir output structure :
d = rdir([matlabroot, '\*.txt'])
- As initial RDIR function, you can use a double wildcard (**) to list files in all subdirectories from a given path :
- And also use a filter entered as 2nd argument to refine your search :
rdir([matlabroot, '\**\*tmpl*.m'], 'bytes>0')
This enhanced version of RDIR allow you to define filter on all fields of returned structure and also to use functions like "regexp" or "strfind" on "name" field. You can also use a function handle working on dir-like structure to refine the search.
- You can then add as 3rd argument a path to remove from beginning of "name" field of each listed item :
rdir([matlabroot, '\*.txt'], '', 'C:\Program Files\')
All in : C:\Program Files\
76 kb 02-Aug-2007 16:03:52 MATLAB\R2007b\license.txt
631 b 02-Aug-2007 15:18:42 MATLAB\R2007b\patents.txt
413 b 04-Aug-2007 12:16:36 MATLAB\R2007b\trademarks.txt
- ".svn" directories created by SubVersion (SVN) are excluded from the recursive listing.
See published examples for more details on how to use all RDIR capabilities.
Thomas Vanaret (2023). Recursive directory listing - Enhanced RDIR (https://www.mathworks.com/matlabcentral/fileexchange/32226-recursive-directory-listing-enhanced-rdir), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: Recursive directory listing
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Examples script update only
Version 2.3 :