Load files from two different folders

32 visualizaciones (últimos 30 días)
Paola
Paola el 24 de Feb. de 2023
Comentada: Paola el 1 de Mzo. de 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

Respuesta aceptada

Stephen23
Stephen23 el 24 de Feb. de 2023
Editada: Stephen23 el 24 de Feb. de 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 comentarios
Stephen23
Stephen23 el 25 de Feb. de 2023
Editada: Stephen23 el 25 de Feb. de 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 el 1 de Mzo. de 2023
Thanks, I was not able to find the error. it works now

Iniciar sesión para comentar.

Más respuestas (1)

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

Categorías

Más información sobre Search Path 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