MATLAB: If I have a logical vector created by ISDIR attribute of DIR, how to have its order by the date of the last modification of folders??

cell arrayMATLAB

d = dir('D:\= BIO-PD =');
isub = [d(:).isdir]; %# returns logical vector
nameFolds = {d(isub).name}';
In nameFolds I have a cell array with the names of folders contained in 'D:\= BIO-PD ='.
The problem is I need to have nameFolds sorted by the date of the last change of the folders, as it is located in the real folder.

Best Answer

Simpler and much more robust:
S = dir('D:\= BIO-PD =');
S = S([S.isdir] & ~ismember({S.name},{'.','..'})); % folders only, exclude '.' and '..'
[~,X] = sort([S.datenum]); % sort datenum
N = {S(X).name} % folder names in datenum order