52matlab技术网站,matlab教程,matlab安装教程,matlab下载

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3920|回复: 1
打印 上一主题 下一主题

剪切或拷贝所有一个文件夹中所有文件及子文件夹内的文件到另外一个文件夹

[复制链接]

125

主题

209

帖子

3072

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3072
跳转到指定楼层
楼主
发表于 2017-3-30 14:37:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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
回复

使用道具 举报

125

主题

209

帖子

3072

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3072
沙发
 楼主| 发表于 2017-3-30 14:51:03 | 只看该作者
当然如果觉得文件夹里面的子文件夹不好看,可以使用rmdir(filepath,'s')这样的命令删除
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|52matlab技术网站 ( 粤ICP备14005920号-5 )

GMT+8, 2024-11-24 18:37 , Processed in 0.087120 second(s), 20 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表