Loop over files within a directory and all its sub-directories
2 views (last 30 days)
Show older comments
Happy Holidays to everyone!
I have a folder: C:\data
and I wish to loop over all the files that are within the sub-folders that are named by dates in a MMDDYY fashion (example 122312, 122412, 122512...etc.)
The filenames of the files within each subfolder are all associated with the names of the strings in my array. (see sample code below)
After doing some research I'm not sure which function is best for my needs..nor do I know the proper syntax to utilize them without error. (I tried genpath, or numel with no success)
Any help is appreciated. Here is some example code:
%my FEEBLE attempt to begin to loop through the specified folder and all its sub-directories
for f = 1 : numel('files')
% The names of the files I will be analyzing
for Str = {'Red' 'Orange' 'Yellow' 'Green' 'Blue' 'Indigo' 'Violet'};
%I don't think this next line of code is right. But i'm trying to apply the names of each associated color with the name of the file to
%import
folder = 'c:\data';
fileToRead1 = [Str{1} '.xls'];
sheetName='Sheet1';
if exist(fileToRead1, 'file') == 0
% File does not exist
% Skip to bottom of loop and continue with the loop
continue;
end
% And then begin my calculations and functions here....
Thank you in advance! Ho Ho Ho!
0 Comments
Answers (2)
Walter Roberson
on 24 Dec 2012
2 Comments
Matthew
on 16 Sep 2016
this solution only looks for files within a single folder, not recursive on subfolders
Walter Roberson
on 16 Sep 2016
Depth first or breadth first?
https://www.mathworks.com/matlabcentral/answers/32038-can-you-use-dir-to-list-files-in-subfolders
Jan
on 16 Sep 2016
See the bunch of solutions in the FileExchange: http://www.mathworks.com/matlabcentral/fileexchange/?utf8=%E2%9C%93&term=dir+recursive
0 Comments
See Also
Categories
Find more on Data Type Conversion 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!