MATLAB 删除指定文件夹内的文件夹及多个子文件夹

本文详细介绍了MATLAB中文件操作的基础知识,特别是如何使用delete和rmdir命令来删除指定文件夹内的文件和子文件夹。通过一个实际的代码示例,展示了如何在实验项目中清理特定目录下的.txt和.cst文件,以及如何递归地删除多级子文件夹。

初入实验室,本科使用过一点matlab,遗忘的很快。索性用博客记录使用期间碰到的一些问题及解决方案。

1. 问题来源

如何使用MATLAB删除指定文件夹内的文件夹及多个子文件夹,这个问题来源于题主正在做的一个实验室项目,其中功能子函数要反复使用同一个文件夹,并且删除之前的内容。要删除的文件内容包括有多级子文件夹的文件夹、txt以及CST建模所生成的模型.cst文件。

2. 代码

2.1. MATLAB Documentation - MathWorks 中国

地址:
MATLAB Documentation - MathWorks 中国

遇到MATLAB的问题首先打开MATLAB Documentation,查找文件操作部分内容,如下:
在这里插入图片描述

2.1.1. delete - 删除文件或对象
delete *.mat	%删除当前文件夹中带有 .mat 扩展名的所有文件。
2.1.2. rmdir- 删除文件夹
  • 删除非空文件夹
[status, message, messageid] = rmdir('myfiles')			%删除空文件夹
[status, message, messageid] = rmdir('myfiles', 's')	%删除非空文件夹
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
status - 文件夹删除状态
0 | 1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
msg - 错误消息
错误消息,指定为字符向量。如果发生错误或警告,msg 将包含错误或警告的消息文本。否则,msg 为空,即 ''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2.2. 代码块

function deletebefore

cd('E:\TEST')		%进入所在文件夹

delete *.txt        %删除文件夹内所有.txt
delete *.cst        %删除文件夹内所有.cst

if exist('cable','dir') == 7    %检测是否存在名为'cable'的文件夹及子文件夹
files = dir('E:\TEST');         %遍历
%delete dir
filenum = length(files);
    for i = 1:filenum
        if(files(i).isdir && ~strcmp(files(i).name,'.') && ~strcmp(files(i).name,'..'))
            rmdir(files(i).name,'s')        
        end
    end   
end

end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值