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

27 vues (au cours des 30 derniers jours)
Ivan Mich
Ivan Mich le 23 Avr 2021
Modifié(e) : Stephen23 le 5 Mai 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?

Réponses (2)

Stephen23
Stephen23 le 23 Avr 2021
Modifié(e) : Stephen23 le 23 Avr 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 commentaires
Ivan Mich
Ivan Mich le 2 Mai 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 le 2 Mai 2021
Modifié(e) : Stephen23 le 5 Mai 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.

Connectez-vous pour commenter.


Attaullah Shafiq
Attaullah Shafiq le 1 Mai 2021
yes you can use dir function. plz visit dir func help

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by