How to automatically run all matlab files in a folder

27 views (last 30 days)
If there are many matlab edits in my folder, is there any command in matlab that can automatically read the edit in the folder and run it?
  1 Comment
Image Analyst
Image Analyst on 13 Nov 2022
What do you mean? Do you want to locate any m-files that have been edited since some previous time? And then run those m-files or find the lines in the file that are different from some earlier reference version of the file? You know that dir can give you the time date stamp of the files, right?

Sign in to comment.

Answers (1)

Karim
Karim on 12 Nov 2022
something like this should work
folder = 'YourFolder';
mfiles = dir(fullfile(folder, '*.m'));
% loop over the files
for k = 1:length(mfiles)
file = mfiles(k).name;
try
% try to run the current m file
run(fullfile(folder, file));
fprintf('succesful run: %s\n', file);
catch
% print message if it failed
fprintf('failed to run: %s\n', file);
end
end
  4 Comments
Stephen23
Stephen23 on 13 Nov 2022
Edited: Stephen23 on 13 Nov 2022
"Can you think of a way to avoid it?"
By writing more robust code (i.e. functions and not scripts, not calling anti-pattern CLEAR ALL anywhere, etc.)
peter huang
peter huang on 14 Nov 2022
So when I write the code, it should be written as funtion to test the cases of various situations, isn't it using script for testing?

Sign in to comment.

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!