Can Matlab read the most recent made file in the default folder?

44 views (last 30 days)
Hello, just want to know if Matlab can import the file that is most recent made based on their modified date and time?
I have several Excel files and want it read and do analysis?
Thanks.

Accepted Answer

Jan
Jan on 26 Feb 2022
Edited: Jan on 8 Nov 2022
A summary of the comments:
d = dir('somefolder/*txt');
[~, index] = max([d.datenum]);
youngestFile = fullfile(d(index).folder, d(index).name); % [EDITED], typo fixed
% Thanks, Andres Morales

More Answers (2)

pfb
pfb on 14 Apr 2015
Hi,
you could get the excel files with
d= dir('*xls');
and then compare the dates. These are in
d(j).date
You probably better convert them to numbers to compare them
dd = zeros(length(d));
for j = 1:length(d)
dd(j) =datenum(d(j).date);
end
[tmp i]=max(dd);
load(dd(i).name)
  5 Comments
Yan Kai Lai
Yan Kai Lai on 26 Feb 2022
Edited: Yan Kai Lai on 26 Feb 2022
I used the answer by pfb to read the most recent txt file. To make the answer more complete:
d = dir('somefolder/*txt');
dd = zeros(length(d), 1); % to init as vector instead of square matrix
for j = 1:length(d)
dd(j) = datenum(d(j).date);
end
[~, i] = max(dd); % tmp is the datenum, which is not necessary
lines = readlines(fullfile(d(i).folder, d(i).name)) % should be d instead of dd.
Stephen23
Stephen23 on 26 Feb 2022
Edited: Stephen23 on 26 Feb 2022
Converting to DATENUM is not required because the DIR output structure already contains serial date numbers, so that superfluous loop can be simply replaced by this:
dd = [d.datenum];

Sign in to comment.


Walter Roberson
Walter Roberson on 26 Feb 2022
Edited: per isakson on 1 Aug 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!