help with "dir" command
    4 views (last 30 days)
  
       Show older comments
    
good morning I have a problem with the command "dir":
I want to find some files which names are f.e. : 10.txt,11.txt,12.txt, etc. and list them within a cell or an array
I tried with this:
    for i=10:20
      file = dir(fullfile(open_folder, ['*' i '*' '.txt']))
    end
    neither
file(i) = dir(fullfile(open_folder, ['*' i '*' '.txt']))
works (mismatched dimension or something similar).
the resulting structure is just the file with the last numerical value (i.e. '20.txt' in this case)
is there a possibility to have a cell, or a matrix with all the files found?
Thanks
0 Comments
Accepted Answer
  Image Analyst
      
      
 on 25 Feb 2015
        See code samples in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F
0 Comments
More Answers (1)
  Stephen23
      
      
 on 25 Feb 2015
        
      Edited: Stephen23
      
      
 on 25 Feb 2015
  
      out = dir(fullfile(open_folder,'*.txt'))
This is much neater, faster, and less likely to have bugs than trying to do this in a loop. The usage of fullfile is good code though, so we will keep that!
If required you can sort/filter the strings in out as well, to remove other files that you do not want. You could use regexp for this.
2 Comments
  Image Analyst
      
      
 on 25 Feb 2015
				The sorting takes place inside the loop? What sort of sorting are you doing (no pun intended)?
See Also
Categories
				Find more on Shifting and Sorting Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

