Load files from two different folders

33 views (last 30 days)
Paola
Paola on 24 Feb 2023
Commented: Paola on 1 Mar 2023
Hi,
I need to upload files from two different folders. I wrote this but it woking just from one folder. How can I add the second folder?
dirname=['D:\Shared\MATLAB\100min\BT']
cd(dirname)
filelist = dir([basename '*_BTlength.mat'])
Thanks

Accepted Answer

Stephen23
Stephen23 on 24 Feb 2023
Edited: Stephen23 on 24 Feb 2023
Do NOT use ADDPATH or CD or any other messing around with the MATLAB search path just for acessing data files.
All MATLAB functions which import/export data files accept relative/absolute filenames. Using relative/absolute filenames is more robust, more efficient, and easier to debug than messing around with CD or the search path. You should use relative/absolute filenames.
For example:
P = 'D:\Shared\MATLAB\100min\BT'; % got rid of the superfluous square brackets.
S = dir(fullfile(P,'*_BTlength.mat'));
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
% do whatever you want with absolute filename F, e.g.:
D = load(F)
end
See also:
  3 Comments
Stephen23
Stephen23 on 25 Feb 2023
Edited: Stephen23 on 25 Feb 2023
"I would like to add another folder"
It is easy to specify two paths, e.g.:
P1 = 'D:\Shared\MATLAB\100min\BT';
P2 = 'D:\Shared\MATLAB\100min-rep2\BT';
S = [...
dir(fullfile(P1,'*_BTlength.mat'));...
dir(fullfile(P2,'*_BTlength.mat'))];
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
% do whatever you want with absolute filename F, e.g.:
D = load(F)
end
Alternatively you can use wildcards in the path name as well, e.g.:
P = 'D:\Shared\MATLAB\100min*\BT';
S = dir(fullfile(P,'*_BTlength.mat'));
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
% do whatever you want with absolute filename F, e.g.:
D = load(F)
end
Paola
Paola on 1 Mar 2023
Thanks, I was not able to find the error. it works now

Sign in to comment.

More Answers (1)

Jacob Ward
Jacob Ward on 24 Feb 2023
Use the addpath() function to add the path to your second folder to the working directory:

Categories

Find more on Search Path 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!