Clear Filters
Clear Filters

Want to iterate over subfolders within folder

32 views (last 30 days)
I have a current working director or folder in MATLAB and wrote a function in this directory. Within this directory, I have a folder that contains 10 subfolders, each of which contains two different types of files (one is .edf and one is .xlsx). My function is designed to take an edf file and the corresponding xlsx file and compute something based on these.
So, my goal is to find a way that I can loop through these 10 subfolders and call my function on the edf and xlsx files in each subfolder one by one. Is there any way I can do this? Thanks.
Shri Chand
Shri Chand on 23 Mar 2023
@Jon, thanks for your response. I looked at the dir command and tried using this. I am just not sure how to iterate through folders in dir to call the function on each of these subfolders. The documentation for dir did not have any examples of how to do this.
Rik on 23 Mar 2023
The point is that nothing in your question actually requires itterating through folders, only through file pairs. And dir can generate that list of files for you.

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 23 Mar 2023
Files=dir('**/*.xlsx') will give you a list of all the .xlsx files in the folder and sub-folder.
Observe Files(1), Files(2), ...
Use a for-loop to go through all the files in your program, use fileparts() to get the folder name. Use fullfile() to get the full path of the .edf file if needed.
Fangjun Jiang
Fangjun Jiang on 26 Mar 2023
xlsread(fullfile(Files(1).folder, Files(1).name))

Sign in to comment.

More Answers (0)


Find more on File Operations in Help Center and File Exchange





Community Treasure Hunt

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

Start Hunting!