-3

myFiles = 1x7 cell

当我尝试

for m =1:numel(myFiles  )
    fil{m} = dir(myFiles {m});
    fil{m}.bytes ;
end

这不起作用我收到错误:未为“单元”输入定义函数。

4

2 回答 2

1

该命令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);

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

于 2013-11-12T13:47:40.753 回答
1

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

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

myFiles {ii}

这不是对元胞数组进行索引的有效语法。也许删除空间会有所帮助。

此外,您循环m然后ii用作索引。

最后你分配给fil每次。实际上,这意味着只存储最后一个结果。也许分配到fil(m)会更好地满足您的需求。

于 2013-11-12T13:37:24.130 回答