How can I use fullfile with cell arrays

18 次查看(过去 30 天)
[filename, pathname]=uigetfile('MultiSelect','on','*.dat')
f = fullfile(pathname,filename)
filename =
Columns 1 through 5
[1x60 char] [1x60 char] [1x60 char] [1x60 char] [1x60 char]
Columns 6 through 10
[1x60 char] [1x60 char] [1x60 char] [1x60 char] [1x60 char]
Columns 11 through 12
[1x60 char] [1x60 char]
pathname =
C:\Documents and Settings\
??? Undefined function or method 'eq' for input arguments of type 'cell'.
Error in ==> fullfile at 37 if (f(end)==fs) && (part(1)==fs),
Error in ==> load at 3 f = fullfile(pathname,filename)
I'm trying to get the pathname and filename of a set of dat files from a single directory, and want to use fullfile to connect the names together. But I get the above error. Thank you in advance.

采纳的回答

Walter Roberson
Walter Roberson 2013-5-6
f = cellfun(@(S) fullfile(pathname, S), filename, 'Uniform', 0);
  2 个评论
John Ettikkalayil
John Ettikkalayil 2013-5-22
编辑:John Ettikkalayil 2013-5-22
Thanks Walter! This is what I was looking for in order to display full file paths of multiple files users selected.
f = cellfun(@(S) fullfile(pathname, S), filename, 'Uniform', 0);
disp('User Multi-Selected: ')
disp(f(:))
Walter Roberson
Walter Roberson 2013-5-22
If your problem is solved please mark an answer as Accepted.

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2013-5-6
if pathname(end) == filesep
f = strct({pathname}, filename);
else
f = strct({pathname}, {filesep}, filename);
end

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by