How to run a matlab code for all folders in a directory?
24 ビュー (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
回答 (2 件)
Stephen23
2021 年 4 月 23 日
編集済み: Stephen23
2021 年 4 月 23 日
"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 件のコメント
Stephen23
2021 年 5 月 2 日
編集済み: Stephen23
2021 年 5 月 5 日
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.
参考
カテゴリ
Help Center および File Exchange で File Operations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!