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?

 Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Nov. de 2011
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 comentarios

Daniel Shub
Daniel Shub el 8 de Nov. de 2011
I think you need to add initialdir to the path so that script (scritp) can be found after you change the directory.
Baba
Baba el 8 de Nov. de 2011
I'm getting the following error when running your code:
Argument must contain a string.
Error in ==> Master at 5'
cd(dirname);
Walter Roberson
Walter Roberson el 8 de Nov. de 2011
Oh, right, should be
cd(dirname{1})
Baba
Baba el 8 de Nov. de 2011
also, the DIRNAMES, do I have to include the full directory starting with the Drive letter?
Walter Roberson
Walter Roberson el 8 de Nov. de 2011
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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre File Operations en Centro de ayuda y File Exchange.

Preguntada:

el 8 de Nov. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by