2

我有一个愚蠢的问题。我想知道在以下情况下选择了多少文件:

[fileName, pathName, filterIndex] = uigetfile({'*.*';'*.xls';'*.txt';'*.csv'}, 'Select file(s)', 'MultiSelect', 'on');

当超过 1 个时,我可以做 length(fileName);

没关系。但是当只选择一个时,这给了我文件名的实际长度(字符数量):/

4

2 回答 2

4

你应该先检查一下iscell(filename)

[fileName, pathName, filterIndex] = uigetfile({'*.*';'*.xls';'*.txt';'*.csv'}, 'Select file(s)', 'MultiSelect', 'on');
if iscell(fileName)
    nbfiles = length(fileName);
elseif ~isempty(fileName)
    nbfiles = 1;
else
    nbfiles = 0;
end
于 2012-11-08T08:57:17.303 回答
1

文件名 = cellstr(文件名)

是另一种(更简单)的解决方案,如果选择了一个或多个文件,则始终接收一个独立的文件名单元

于 2014-12-02T14:19:40.423 回答