execute a function in several directories

how do I execute scritp.m function in different directories without having to navigate to each individual directory and run the script there?

 Accepted Answer

DIRNAMES = {'uline','cool','crinkle','organic', 'mingus'}; %change appropriately
initialdir = pwd();
for dirname = DIRNAMES
cd(dirname);
scritp %the script to run
cd(initialdir)
end
The changing back to the initial dir is important if the directory names are in relative path format as in the example values I give.

5 Comments

I think you need to add initialdir to the path so that script (scritp) can be found after you change the directory.
I'm getting the following error when running your code:
Argument must contain a string.
Error in ==> Master at 5'
cd(dirname);
Oh, right, should be
cd(dirname{1})
also, the DIRNAMES, do I have to include the full directory starting with the Drive letter?
Please expand the comments here to see Daniel's explanation of how to have the script be found.
For the DIRNAMES, you can either use full pathnames complete with drive letter, or you can use pathnames that are relative to the directory that you will be starting the script in.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!