2016-07-17 2 views
0

Этот подсегмент кода идентифицирует самую новую папку. Однако имя папки, указанной этим кодом, это «.». Путь - это Джимми, и я добавил две новые папки под Джимми. Jimmy/Testfolder1 и Jimmy/Testfolder2 в качестве файловых путей. Новейшая папка должна быть Testfolder1, однако '.' была определена как самая новая папка. Основываясь на отметке времени в самой новой папке, я определил «.». это Джимми.Поиск новейшей папки в каталоге вызывает «.». и ".." вместо новой папки

d = dir(pathfolder); 
isub = [d(:).isdir]; 
dates = [d(isub).datenum]; 
[~, newestIndex] = max(dates); 
d(newestIndex) 
d.name 

Выход следующим образом:

name: '..' 
    date: '17-Jul-2016 19:52:53' 
    bytes: 0 
    isdir: 1 
datenum: 7.3653e+05 

".." странно появился на этот раз вместо "" для имени.
Проблема, которую нужно решить: Как получить этот код для идентификации Testfolder1 как самой новой папки под Jimmy?

Спасибо!

ответ

1

. - текущая папка.

.. является родительская папка

Вы должны избегать этих папок во внимание!

. и .. всегда два первых выхода команды dir.

Таким образом, вы можете пропустить эти папки, добавив новую строку после d = dir(pathfolder);

d = dir(pathfolder); 
d = d([3:end]); %Skip the 2 first results. 
Смежные вопросы