Функция DIR возвращает массив структур, по одной для каждого элемента каталога. Одним из членов структуры является флаг с именем isdir
.
mydir = 'c:\test';
allentries = dir(mydir); % array of all files and dirs within target
diridxs = [allentries.isdir];
alldirs = allentries(diridxs); % array of all the dirs
allfiles = allentries(~diridxs); % array of all the files
for ctr = 1:length(allfiles)
disp(allfiles(i).name)
Обратите внимание, что записи каталога включают в себя .
и ..
, что может сбивать с толку при попытке рекурсивного анализа дерева каталогов ...