Running an m-file in each subfolders

6 views (last 30 days)
I'm looking for away to access subfoders and run script ('TESTING_4000.m') in each subfolder. Not sure what I'm missing in the code.
if true
% code
folder = 'C:\Deterministic\New Objectives_Log';
list = dir(fullfile(folder,'Log_4000*'));
nFile = {list([list.isdir]).name};
C = cell(1,numel(nFile));
for k = 1:numel(nFile)
C{k} = run(fullfile(folder,nFile{k},'TESTING_4000.m'));
end
end
Can anyone help please.
  5 Comments
Stephen23
Stephen23 on 7 Oct 2018
Edited: Stephen23 on 7 Oct 2018
" Do you have another way you recommend?"
Yes: write functions rather than scripts, return the data that you need in output argument/s, save that data.
"after the first subfoder was run. The model stopped and showed k value in the for loop is undefined. Is there anyway, I can fix this?"
You did not show us any code, so we have no idea what your scripts are doing. Possibly you used clear in your code this causes existing variables to be cleared. Solution: do not use clear in any script or function. But until we actually see your code we can only guess, and debugging by guessing is very inefficient.
Yaser Khojah
Yaser Khojah on 8 Oct 2018
Thanks Stephen for all the ideas and help. It is working finally.

Sign in to comment.

Accepted Answer

Yaser Khojah
Yaser Khojah on 5 Oct 2018
I just updated the code and it is working now thanks.
run(fullfile(folder,nFile{k},'TESTING_4000.m'));

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!