How to run a matlab code for all folders in a directory?

43 visualizaciones (últimos 30 días)
Ivan Mich
Ivan Mich el 23 de Abr. de 2021
Editada: Stephen23 el 5 de Mayo de 2021
I have one directory with many folders. Each folder contains a .txt file (eg, file1 contain number1.txt, file2 contain number2.txt etc). these files has 4 columns with double numbers.
Also I have, outside of this directories one matlab code that reads the .txt file, makes calculations and write a file with the results.
Is there a way to run tha matlab code for all the folders with automated manner? I mean to run the code with an easy way, and not running the matlab code one by one for each folder?

Respuestas (2)

Stephen23
Stephen23 el 23 de Abr. de 2021
Editada: Stephen23 el 23 de Abr. de 2021
"Is there a way to run tha matlab code for all the folders with automated manner? "
Of course, just use DIR. For example:
P = 'absolute/relative path to the main folder';
S = dir(fullfile(P,'**','number*.txt'));
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name)
yourfunction(F)
end
  17 comentarios
Ivan Mich
Ivan Mich el 2 de Mayo de 2021
After the corrections you mentioned command window shows me:
Error in mycodetest (line 4)
[d1,tex]= importdata(filename);
Error in Untitled (line 9)
mycodetest(D) % so you still need to handle the filenames here.
Caused by:
Error using fread
Invalid file identifier. Use fopen to generate a valid file identifier.
How can I solve it?
Stephen23
Stephen23 el 2 de Mayo de 2021
Editada: Stephen23 el 5 de Mayo de 2021
The most common cause of that error is the user supplying a filename that does not exist. The most common reasons for it not existing are 1) spelling mistakes and 2) an incorrect path.
Most likely you have not provided the complete filename (including the required absolute/relative filepath). You can check this yourself by printing the filename (or even better: using the debugging tools) of the file that you are trying to open.
Note that you will need to use FULLFILE to join the base filepath, the subdirectory name, and the filename. I suspect that you have forgotten to include the filename.
If you want further help with this then:
  • show the complete error message . This means all of the red text.
  • show the code that you are currently using.
  • show the complete filename that you are supplying to whatever function that imports the file data.

Iniciar sesión para comentar.


Attaullah Shafiq
Attaullah Shafiq el 1 de Mayo de 2021
yes you can use dir function. plz visit dir func help

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by