Run code on multiple files within a directory?
2 views (last 30 days)
Show older comments
Hi, hoping someone can help.
I have code that when run within a chosen directory, pops up a dialog box to choose file, to open through uigetfile and it runs through the code and outputs what I need to a .txt file and saves within the same directory. This is only for 1 file though, what I would like to do is for this to run through all the files in a directory in an automated fashion. I have tried a few things but I really can't get this to work and it seems to be due to how I'm using xlsread at the start.
I am using the following to read the data from the file:
[num text raw] = xlsread(uigetfile('*.extension'));
This allows me to easily use things like this to read off various values from headers etc I need:
date = num(3:2);
fileName = text(14:56);
I obviously don't want uigetfile popping up for every file to open but when I remove this I get errors complaining that xlsread can't use wildcards etc.
How can I get it so that my code cycles through all the files, runs my code then stops? I think it's something along these lines (Pseudocode):
% Get directory name
% get filename
% get number of relevant files within directory
% for i=1:number of relevant files
% run my code
% end
I just can't quite get it. Can someone help?
0 Comments
Accepted Answer
per isakson
on 12 Sep 2014
Try
sad = transpose( dir( '*.extension' ) );
for file = sad
disp( file.name )
end
and see
2 Comments
More Answers (0)
See Also
Categories
Find more on File Operations 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!