1

ディレクトリ内のすべてのファイルのリストを取得したい

 d=dir(pwd); # get a struct of all elements (including folders)

ここで、d.nameのすべての要素を選択したいと思います。ここで、d.isfolder=0です。

 jj=1;
 for ii=1:numel(d)
   if d(ii).isdir==0
     filelist{jj} = d(ii).name;
     jj+1;
   end
 end

これはループなしで可能ですか?この操作をベクトル化する方法があるはずだと思います

私はmatlab/octaveで作業しています

4

1 に答える 1

2

ループを使用する必要はありません。インデックス作成でこれを行うことができます

isDirIdx = [d.isdir];
names = {d.name};
fileNames = names(~isDirIdx);
于 2013-02-13T17:42:38.647 に答える