How to get creation date of files
170 views (last 30 days)
Show older comments
How can I get the creation date of file? I can get modified date with dir command but not the creation date.
0 Comments
Accepted Answer
Stephen23
on 8 Jun 2016
Edited: Stephen23
on 8 Jun 2016
Try this FEX submission:
Or on windows you can call the DOS command:
but their advice is not quite correct, it actually needs to be like this:
>> [~,str] = dos('dir /T:C *.m');
>> rgx = '(\d{4}\.\d{2}\.\d{2}\.\s+\d{2}:\d{2})\s+\d+\s+([^\n]+)';
>> tkn = regexp(str,rgx,'tokens');
>> tkn{:}
ans =
'2016.03.02. 11:51' 'startup.m'
ans =
'2016.06.07. 15:29' 'Untitled.m'
And then it reads the creation date perfectly!
4 Comments
KAE
on 1 Jul 2021
If you have spaces in the directory name you will need to put double quotes on the file name, here in a variable called fileName:
[~, str] = dos(['dir "' fileName '"']);
More Answers (4)
Guillaume
on 8 Jun 2016
On windows you can simply delegate to .Net
d = system.IO.File.GetCreationTime(fullpath)
1 Comment
Austin Spencer
on 10 Jun 2019
Thanks for the info, this is a nice clean solution! By comparison parsing the return from "dir" seems to be very fragile and is inherently platform dependent.
One correction: at least for my case, "system" must be capitalized.
d = System.IO.File.GetCreationTime(fullpath);
The resulting .NET DateTime object can then be converted into a MATLAB datetime object.
creationDateTime = datetime(d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second);
Sam Raymond
on 5 May 2021
With python now very much integrated into MATLAB (R2021a), a nice way to get this is the following:
d1 = datetime(py.os.path.getctime('video_path'),'ConvertFrom','epochtime','TicksPerSecond',1,'Format','dd-MMM-yyyy HH:mm:ss.SSS');
0 Comments
Tim Lueth
on 29 Jan 2019
Edited: Tim Lueth
on 29 Jan 2019
On Mac OSX (tested 2019-01-29 using Mojave and Matlab R2018a) use:
[a,b]=system('GetFileInfo myfile.m'); s=strfind(b,'created: ')+9; crdat=b(s:s+18)
or
fname='myfile.m'
[a,b]=system(sprintf('GetFileInfo "%s"',fname)); s=strfind(b,'created: ')+9; crdat=b(s:s+18)
datestr(datenum(crdat))
0 Comments
Konstantin
on 26 Jan 2023
Why not like this?
file_info = dir(path_to_file)
1 Comment
Stephen23
on 26 Jan 2023
"Why not like this?"
The question asks for the file creation date. DIR() returns the file modification date:
This is explained in the DIR() documentation:
See Also
Categories
Find more on Search Path in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!