RDIR Enhanced - Examples of use

Contents

Standard use

rdir([matlabroot, '\*.txt'])
  76 kb  02-Aug-2007 16:03:52  C:\Program Files\MATLAB\R2007b\license.txt                       
 631  b  02-Aug-2007 15:18:42  C:\Program Files\MATLAB\R2007b\patents.txt                       
 413  b  04-Aug-2007 12:16:36  C:\Program Files\MATLAB\R2007b\trademarks.txt                    

Using double wildcard **

List ".m" files whose name contains "tmpl" in all subdirectories of matlabroot

rdir([matlabroot, '\**\*tmpl*.m'])
  11 kb  20-Dec-2006 03:31:58  C:\Program Files\MATLAB\R2007b\toolbox\simulink\blocks\msfuntmpl.m 
   8 kb  20-Mar-2007 20:57:30  C:\Program Files\MATLAB\R2007b\toolbox\simulink\blocks\sfuntmpl.m 
 455  b  29-Jun-2006 12:23:38  C:\Program Files\MATLAB\R2007b\toolbox\simulink\blocks\ja\msfuntmpl.m 
   3 kb  29-Jun-2006 12:23:40  C:\Program Files\MATLAB\R2007b\toolbox\simulink\blocks\ja\sfuntmpl.m 
   4 kb  27-Dec-2006 16:30:54  C:\Program Files\MATLAB\R2007b\toolbox\slcontrol\slctrldemos\scdtmplin.m 

RDIR output

d = rdir([matlabroot, '\**\*tmpl*.m'])
d = 

5x1 struct array with fields:
    name
    date
    bytes
    isdir
    datenum

disp(d(1))
       name: 'C:\Program Files\MATLAB\R2007b\toolbox\simulink\blocks\msfuntmpl.m'
       date: '20-déc.-2006 03:31:58'
      bytes: 11035
      isdir: 0
    datenum: 7.3303e+005

Using 3rd argument to shorten output names

Remove "C:\Program Files\" in returned names

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                                     

Remove matlabroot in returned names

rdir([matlabroot, '\*.txt'], '', true)
All in : C:\Program Files\MATLAB\R2007b\
  76 kb  02-Aug-2007 16:03:52  license.txt                                                      
 631  b  02-Aug-2007 15:18:42  patents.txt                                                      
 413  b  04-Aug-2007 12:16:36  trademarks.txt                                                   

Using a filter with "regexp"

List ".mat" files, then select those whose name match regular expression 'data\d' (ie "data" followed by a numeric digit)

rdir([matlabroot '\toolbox\**\*.mat'], 'regexp(name, ''data\d'')', true)
All in : C:\Program Files\MATLAB\R2007b\toolbox\
   6 kb  01-Mar-2000 13:24:02  ident\ident\iddata1.mat                                          
   7 kb  01-Mar-2000 13:24:04  ident\ident\iddata2.mat                                          
   8 kb  01-Mar-2000 13:24:06  ident\ident\iddata3.mat                                          
   7 kb  01-Mar-2000 13:24:06  ident\ident\iddata4.mat                                          
   9 kb  01-Mar-2000 13:24:08  ident\ident\iddata5.mat                                          
   9 kb  01-Mar-2000 13:24:10  ident\ident\iddata6.mat                                          
  13 kb  01-Mar-2000 13:24:10  ident\ident\iddata7.mat                                          
  19 kb  01-Mar-2000 13:24:12  ident\ident\iddata8.mat                                          

Specific display - No item matching filter

When some items match input path, but none match filter, a specific message is displayed.

rdir(matlabroot, 'strcmp(name, ''unknowtoolbox'')', 1)
No item matching filter.