|
本帖最后由 matlab的旋律 于 2017-3-30 14:47 编辑
今天遇到一个小问题,但是需要重复工作,就花了一个来小时写matlab代码来处理,问题是这样的,文件夹里面有许多txt文件和子文件夹,同时子文件夹又有许多txt文件和子文件夹,这样一共有三到四层,我需要将这些txt文件全部剪切到主文件夹,如图所示:
fullFileName = 'C:\Users\Administrator\Desktop\code\test'; %主文件夹得路径
MoveFileToMainPath(fullFileName,fullFileName,'.txt');%调用处理函数
function MoveFileToMainPath(main_path,sub_path,fileExtension)
%函数内容
maindir = dir(sub_path);%列举文件夹中所有内容
sub_main_path = sub_path;%保存当前子文件夹路径
for i = 1 : length(maindir )
if isempty(strfind(maindir( i ).name, '.' ))% 判断是否为文件夹
sub_path = fullfile(sub_main_path,maindir( i ).name);%生成当前文件夹内的子文件夹路径
MoveFileToMainPath(main_path,sub_path,fileExtension);%回调
elseif ~isempty(strfind( maindir( i ).name,fileExtension)) && ~strcmp(main_path,sub_main_path)%判断是否为子文件夹内的文件
subFile = fullfile(sub_path, maindir( i ).name);
movefile(subFile,main_path)%剪切到主文件夹中,如果是拷贝,用copyfile
end
end
运行程序,得到结果如图4
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|