Use string as a path

34 次查看(过去 30 天)
Radek
Radek 2013-10-17
评论: Jan 2013-10-17
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
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'));

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by