以下に示す構造があります。
をdatabase
含むフォルダーがありますbrands
。それぞれとbrand
で構成されlogo
ますquery
。すべてのファイル ( file_1
to file_n
) をすべてトラバースしdatabase
、それらに対していくつかの操作を実行したいと考えています。
私はこのコードを書きました:
d = dir(database);
isub = [d(:).isdir];
brandsFolders = {d(isub).name}';
brandsFolders(ismember(brandsFolders,{'.','..'})) = [];
[numberOfBrands not_used]=size(brandsFolders); %holds the number of the brands
for i=1:numberOfBrands
temp=strcat(database, '\');
currentBrand=strcat(temp, brandsFolders(i));
d = dir(currentBrand{1,1});
isub = [d(:).isdir];
logoAndQuery = {d(isub).name}';
logoAndQuery(ismember(logoAndQuery,{'.','..'})) = [];
logo=strcat(currentBrand, '\', logoAndQuery(1));
files=dir(logo{1,1});
[numberOfFiles not_used]=size(files);
for j=1:numberOfFiles
if strcmp(files(j).name, '..')~=1 && strcmp(files(j).name, '.')~=1
%operations on each files(j).name
end
end
end
コードは正常に動作し、目的のファイルをトラバースします。ただし、コードは少し見苦しく、混乱を招きます。
別のより良い方法でそれを行うことができるかどうか疑問に思っていましたか?