matlab递归删除文件夹下所有内容

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值