Я не уверен, что понимаю вашу проблему, но все, что вам нужно сделать, это объединить строки, которые содержат каталог (f {}) и имя файла.Изменение вашего кода:
for i=1:length(dirListing);
f{i} = fullfile(path, dirListing(i,1).name);%obtain the name of each folder
files{i}=dir(fullfile(f{i},'*.xls'));%find the .xls files
for j=1:length(files{1,i});
File_Name{1,i}{j,1}=files{1,i}(j,1).name;%find the name of each .xls file
fullpath = [f{i} '/' File_Name{1,i}{j,1}];
disp(['Reading file: ' fullpath])
x = xlsread(fullpath);
end
end
Это работает на * nix системах.Возможно, вам придется объединить имена файлов с «\» в Windows.Я найду более элегантный способ и обновлю эту публикацию.
Редактировать : Команда filesep
задает косую черту вперед или назад, в зависимости от вашей системы.Следующее должно дать вам полный путь:
fullpath = [f{i} filesep File_Name{1,i}{j,1}];