delete subfolder with specific name*
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Long Hà Vinh
am 17 Dez. 2018
Bearbeitet: Stephen23
am 17 Dez. 2018
I have 1 <main folder> with many subfolder like:
<output_figure_file_1>
<output_figure_file_2>
<output_figure_file_3>
<output_data_file_1>
<output_data_file_2>
<output_data_file_3>
<file_1>
<file_2>
<file_3>
With some file inside subfolder. Now I need to delete all sub-folder named <output_figure_file_*>
with using this code:
close all; clear all; clc;
% remove sub folder on input
d=dir('output_figure_*')
dirlist=d([d.isdir])
dirlist=dirlist(~ismember({dirlist.name},{'.','..'}));
for idir=1:numel(dirlist)
%dird=fullfile(pwd,(dirlist(idir).name))
rmdir((dirlist(idir).name),'s')
end
It caused eror said:
??? Error using ==> rmdir
No directories were removed.
Error in ==> Untitled at 8
rmdir((dirlist(idir).name),'s')
Any one pls help me to fix this eror.
My version is R2008a
2 Kommentare
Guillaume
am 17 Dez. 2018
Change the call to rmdir to:
[status, message] = rmdir(dirlist(idir).name, 's');
if ~status
error('Fed to remove %s, because %s', dirlist(idir).name, message);
end
and tell us what the new error message is.
Akzeptierte Antwort
Jan
am 17 Dez. 2018
Add some error messages:
base = cd;
d = dir(fullfile(base, 'output_figure_*'));
dirlist = d([d.isdir]);
dirlist = dirlist(~ismember({dirlist.name}, {'.','..'}));
for idir = 1:numel(dirlist)
folder = fullfile(base, dirlist(idir).name);
[status, msg] = rmdir(folder, , 's');
if status ~= 1
error('rmdir:failed:now', 'Folder: %s, Message: %s', folder, msg);
end
end
What do you get as message?
Is one of the files opened anywhere?
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu File Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!