Problem with making a new directory
43 次查看(过去 30 天)
显示 更早的评论
I created a code to save figures for each test for 5 subjects. It gives a warning that the subfolder already exists. So I tried to use if statements, and for the directory 'Data_examen1' it worked. But if I include making the subfolder also in my if-statement. It gives an error. I understand what's going wrong here... But I can't figure out how to get rid of the warning...
for welke_pp=1:5 % for 5 subjects
...
for i_testen=1:5 % for 5 measurements
...
if ((i_testen == 1) && (welke_pp == 1))
mkdir Data_examen1 %make new directory
end
mkdir('Data_examen1', sprintf('pp%d', welke_pp)); %hmake a new subfolder. Here is the warning.
folder = 'Data_examen1';
subfolder = sprintf('pp%d',welke_pp);
pngFileName = sprintf('3Dplot_subject%d_trial%d.png', welke_pp, i_testen);
fullFileName = fullfile([folder '\\' subfolder], pngFileName);
saveas(gcf,fullFileName); %save each figure
0 个评论
采纳的回答
Image Analyst
2014-12-29
Just wrap your mkdir() in an if statement
if ~exist(folderName, 'dir')
% Folder does not exist so create it.
mkdir(foldername);
end
If it exists already, it won't do this and therefore won't throw an error.
3 个评论
Image Analyst
2014-12-29
It should if you specify the full path of the folder.
subFolder = sprintf('pp%d', welke_pp);
fullPath = fullfile(someRootFolder, subFolder);
if ~exist(fullPath , 'dir')
% Folder does not exist so create it.
mkdir(fullPath );
end
Your code probably actually did create the folder but in a location you were not expecting and did not look for or in. Do it my way and look at the fullPath value and see if it makes sense. Then use the debugger to see if it actually enters the "if" block.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!