dir(myFiles{m})不';不能使用MATLAB

dir(myFiles{m})不';不能使用MATLAB,matlab,Matlab,myFiles=1x7单元 当我尝试 for m =1:numel(myFiles ) fil{m} = dir(myFiles {m}); fil{m}.bytes ; end 这不起作用 我得到了一个错误: 没有为“单元格”输入定义函数。首先,您应该提到收到的错误消息 除此之外,还有一些明显的问题: myFiles {ii} 这不是索引到单元格数组的有效语法。也许移除空间会有所帮助 此外,您可以循环使用m,然后使用ii作为索引 最后,每次分配给fil。实际上,这意味着只

myFiles=1x7单元

当我尝试

for m =1:numel(myFiles  )
    fil{m} = dir(myFiles {m});
    fil{m}.bytes ;
end
这不起作用 我得到了一个错误:
没有为“单元格”输入定义函数。

首先,您应该提到收到的错误消息

除此之外,还有一些明显的问题:

myFiles {ii}
这不是索引到单元格数组的有效语法。也许移除空间会有所帮助

此外,您可以循环使用
m
,然后使用
ii
作为索引


最后,每次分配给
fil
。实际上,这意味着只存储最后的结果。也许分配给
fil(m)
更适合您的需要。

命令
dir
将显示文件夹的内容。由于变量名为“myFiles”,我假定它包含文件名而不是文件夹名。所以我认为你在寻找这样一个循环:

for ii = 1:numel(myFiles)
   fil{ii} = which( myFiles{ii} )
end
这将为您提供一个包含文件完整路径的数组。或者您正在查找包含“myFiles”中的文件的文件夹?然后您可以使用:

for ii = 1:numel(myFiles)
   fil{ii} = fileparts( which( myFiles{ii} ) )
end
返回相应的文件夹


关于你的评论:

“myFiles”中存在文件/文件夹是唯一的目的吗

然后你可以这样做:

for ii = 1:numel(myFiles)
   fil(ii) = exist( which(myFiles{ii}), 'file' );
end

existMyFiles = logical(fil);

返回指定文件存在的逻辑数组。

myfiles的内容是什么?是否确实要使用
dir
?因为你的循环对我来说毫无意义。键入
dir(pwd)
查看
dir
实际上在做什么。你想对结果做什么?现在你在每次迭代后都要覆盖
fil
。我已经更新了problemdir(myFiles{ii})给了我文件或foldermyFiles可能包含diles和文件夹,我使用dir来检查每个文件是否存在