Info

此问题已关闭。 请重新打开它进行编辑或回答。

How do I find output as the path of any input stored in cells?

1 次查看(过去 30 天)
Suppose I have the main folder 'X' which has a subfolder 'a'. now a is like a linear array with n elements. Now picking any random element out of it, the output should show the path i.e, X\a\n. Like 'a' there would be columnar till z. So it would be like a rectangular matrix. Need urgent help with this
  7 个评论
kd p
kd p 2017-12-4
Pardon me @Walter. Actually, I had a deadline and I'm new here.
kd p
kd p 2017-12-4
It is analogous to a subfolder. I used the word to describe the paths as output. Input would be like I said in the image, the output would be just the path of the element of the desired position.

回答(1 个)

Walter Roberson
Walter Roberson 2017-12-4
projectdir = fullfile('X', 'a');
dinfo = dir( projectdir );
dinfo(ismember({dinfo.name}, {'.', '..'})) = []; %remove . and ..
numentries = length(dinfo);
random_entry_idx = randi(numentries);
random_entry_filename = dinfo(random_entry_idx).name;
random_name = fullfile(projectdir, random_entry_filename);
  3 个评论
Walter Roberson
Walter Roberson 2017-12-5
编辑:Walter Roberson 2017-12-5
projectdir = fullfile('X', 'a');
if ~exist(projectdir, 'dir')
error('Folder "%s" does not exist relative to here', projectdir);
end
dinfo = dir( projectdir );
dinfo(ismember({dinfo.name}, {'.', '..'})) = []; %remove . and ..
numentries = length(dinfo);
if numentries == 0
error('Folder "%s" exists but has no files in it', projectdir);
end
random_entry_idx = randi(numentries);
random_entry_filename = dinfo(random_entry_idx).name;
random_name = fullfile(projectdir, random_entry_filename);
kd p
kd p 2017-12-5
Thank You, Walter. Could you kindly say what does the "remove '.' and '..' parts mean? Like I have to edit something in it or totally remove them? And besides, the code is showing error in the output

此问题已关闭。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by