Hello,
i want to use strings from a cell array as path. How can i do it?
I want to write a code, that loops over all my subfolders. The path to the folders are in my cell-array.
My code are:
if true
% code
dirs=regexp(genpath(currentpath),['[^;]*'],'match');
size_dirs=size(dirs);
for i=1:size_dirs(1,2)
data=dir([dirs(1,i),\*.tsv']); <<< here i want my subfolder from the cell-array in dirs!!
anzahl=numel(data);
.. do something
end
The error is: argument must contain a string. But in my cell-arrays are only strings :( can someone help??

Antworten (1)

ES
ES am 17 Okt. 2013

1 Stimme

No.. dirs is a cell array of strings.
Type whos and you will see
dirs 1x28 7098 cell
modify your code slightly to
data=dir([dirs{i},'\*.tsv']);
to make it work.

1 Kommentar

Jan
Jan am 17 Okt. 2013
fullfile is slightly smarter than concatenating with a hardcoded file separator - this considers different operating systems and folders like "C:\" :
data=dir(fullfile(dirs{i}, '*.tsv'));

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 17 Okt. 2013

Kommentiert:

Jan
am 17 Okt. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by