matlab mkdir gives error

21 次查看(过去 30 天)
RuiQi
RuiQi 2017-7-14
I have a folder named results. I want to create a folder with name datetime in it. I use mkdir but I get error.
t = datetime('now');
folder = ['../results/', datestr(t)];
mkdir(folder);
Error using mkdir The filename, directory name, or volume label syntax is incorrect.

回答(3 个)

Walter Roberson
Walter Roberson 2017-7-14
The colon separating the hours and minutes is a reserved character in NTFS filesystems.
  1 个评论
Walter Roberson
Walter Roberson 2017-7-15
t = datestr(now, 'dd-mmm-yyyy HH-MM-SS');
folder = fullfile('C:\Users\H\Documents\MATLAB\EntropyRateSuperpixel-master\results, t);
mkdir(folder);

请先登录,再进行评论。


Image Analyst
Image Analyst 2017-7-14
Look at this:
>> datestr(now)
ans =
'13-Jul-2017 23:16:35'
You see those colons in there? The operating system uses those after drive letters, which doesn't make sense for that string. You can use strrep() to replace the colons with something else.
folder = strrep(folder, ':', '_');
Or just delete them,
folder = strrep(folder, ':', '');
or extract out the date only and not the time.
folder = folder(1:11);

RuiQi
RuiQi 2017-7-14
The colons were giving an issue. This worked.
t = datetime('now');
t = datestr(t);
t = strrep(t,':','-')
folder = ['C:\Users\H\Documents\MATLAB\EntropyRateSuperpixel-master\results\', t];
mkdir(folder);

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by