matlab的rmdir用于删除空文件夹,delete用于删除单个文件,所以写了一个递归调用删除指定文件夹下所有内容的matlab函数。本来这种操作是风险较高的,文件删除操作一定要使用绝对路径,写这里就是因为不小心把路径改成了 ‘.\’。结果导致工作目录下的文件都没了,记一次惨痛的教训。。。
function deleteTemp(dirPath)
DIRS=dir(dirPath);
n=length(DIRS);
for i=1:n
if (~strcmp(DIRS(i).name,'.') && ~strcmp(DIRS(i).name,'..') )
if DIRS(i).isdir
subdir=fullfile(DIRS(i).folder,DIRS(i).name);
deleteTemp(subdir);
rmdir(subdir,'s')
else
subfile=fullfile(DIRS(i).folder,DIRS(i).name);
delete(subfile);
end
end
end
end