Use string as a path

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??

回答 (1 件)

ES
ES 2013 年 10 月 17 日

1 投票

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 件のコメント

Jan
Jan 2013 年 10 月 17 日
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'));

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeFile Operations についてさらに検索

質問済み:

2013 年 10 月 17 日

コメント済み:

Jan
2013 年 10 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by