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来检查每个文件是否存在