最近做一个项目,由于数据分别放在不同的文件夹中,对大量数据文件“打开->复制->粘贴”,觉得很费事,于是就写了对基于Matlab的文件夹遍历。文价夹遍历有两种方式,即层次遍历和深度遍历。个人比较倾向用层次遍历的方法,因为深度遍历要用到递归,当文件目录比较深的时候可能会出现栈溢出的现象(当然这只是个极端的情况),而且必须要做成一个函数,若需要记录每个文件的路径,就比较麻烦!而层次遍历思路相对简单,易于理解。废话不多说,直接贴上代码:

1、基于matlab的深度优先遍历:

function RenameFile( strPath )

path=strPath;

Files = dir(fullfile( path,'*.*'));

LengthFiles = length(Files);

for iCount = 1:LengthFiles    % 判断是否是文件夹

name = Files(iCount).name;

if name=='.'

continue;

end

s = [path  name '/'];        %遍历文件

Folders = dir(fullfile( s,'*.*'));

Length= length(Folders);

for iCount = 1:Length;

if strcmp(Folders(iCount).name, '.') | ...

strcmp(Folders(iCount).name, '..')

continue;

end

%对文件进行操作

Folders(iCount).name

end

end

end

2、基于Matlab的层次遍历(广度优先遍历):

%定义两数组,分别保存文件和路径

mFiles = cell(0,0);

mPath  = cell(0,0);

mPath{1}='./';

[r,c] = size(mPath);

while c ~= 0

strPath = mPath{1};

Files = dir(fullfile( strPath,'*.*'));

LengthFiles = length(Files);

if LengthFiles == 0

break;

end

mPath(1)=[];

iCount = 1;

while LengthFiles>0

if Files(iCount).isdir==1

if Files(iCount).name ~='.'

filePath = [strPath  Files(iCount).name '/'];

[r,c] = size(mPath);

mPath{c+1}= filePath;

end

else

filePath = [strPath  Files(iCount).name];

[row,col] = size(mFiles);

mFiles{col+1}=filePath;

end

LengthFiles = LengthFiles-1;

iCount = iCount+1;

end

[r,c] = size(mPath);

end

Linux Matlab服务器进一步改造成Application Server(应用程序服务器) http://www.linuxidc.com/Linux/2014-09/106340.htm

matlab深度遍历程序,Matlab对文件夹的层次遍历和深度遍历相关推荐

  1. 利用startup.m文件设置matlab的Current Folder的默认文件夹

    转载自:新浪博客电磁兼容之家的博客 利用startup.m文件设置matlab的Current Folder的默认文件夹 startup文件是一个特殊的m文件,matlab在启动以后就会寻找其路径下的 ...

  2. c语言程序压缩解压缩文件夹,【转】使用VC++压缩解压缩文件夹

    前言 项目中要用到一个压缩解压缩的模块, 看了很多文章和源代码, 都不是很称心, 现在把我自己实现的代码和大家分享. 要求: 1.使用Unicode(支持中文). 2.使用源代码.(不使用静态或者动态 ...

  3. CV:基于face库利用cv2调用摄像头(或视频)根据人脸图片实现找人(先指定要识别已知人脸的文件夹转为numpy_array+输入新图片遍历已有numpy_array)

    CV:基于face库利用cv2调用摄像头(或视频)根据人脸图片实现找人(先指定要识别已知人脸的文件夹转为numpy_array+输入新图片遍历已有numpy_array) 目录 输出结果 设计思路 核 ...

  4. 【Matlab】数组、路径、文件夹等相关函数

    MATLAB帮助文档 2022.2.26 matlab 函数说明 来自帮助文档 代码示例 部分来自 VIFB,其中部分注释自注 代码示例 部分来自 MATLAB文档 uint8 8 位无符号整数数组 ...

  5. matlab中创建一个工程,从文件夹创建新工程

    从文件夹创建新工程 如果您有许多文件并希望将它们整理为一个工程(无论是否进行源代码管理),请按照以下步骤创建一个新工程. 使用 Simulink® Start Page 中的 Folder to Pr ...

  6. MATLAB——新建、删除或移动文件夹

    1.新建文件夹 mkdir() 常用语法结构如下: mkdir('FolderName'); mkdir('ParentFolder', 'FolderName'); status = mkdir(' ...

  7. 【小技巧】通过MATLAB检测工程中是否有文件夹,并创建文件夹

    在仿真过程中,我们经常需要将一些结果保存到本地的文件夹中,偶尔一个,二个,可以人工创建,但是当需要分类的文件夹较多的时候,则需要通过自动进行检测是否存在该文件夹,如果没有,则让matlab自动创建该文 ...

  8. 解决Matlab每次运行都要更改文件夹或者添加文件路径的问题

    1.打开Matlab,在命令窗口(command window)输入pwd,会显示默认的文件路径. [注意]:一定要重启Matlab, 不然你可能运行过你的脚本,而把默认路径给修改了.2.新建一个脚本 ...

  9. MATLAB:执行程序时调用bin文件夹下的.m文件,却显示找不到该文件

    在运行程序时,明明要被调用的函数脚本就在当前文件夹bin/下面,但是程序出错找不到对应的文件,经过查询发现:在命令行窗口输入:rehash toolboxcache 即可

最新文章

  1. 2022-2028年中国防水橡胶布行业市场发展模式及投资前景分析报告
  2. 20145129 《Java程序设计》第6周学习总结
  3. oracle.com.cn宕机于09-11-13 20:21
  4. CDN监控系统(三 业务架构)
  5. Jar Hell变得轻松–用jHades揭秘classpath
  6. Windows下Nginx的启动、停止等基本命令
  7. 华为或正与联发科、紫光展锐就采购更多芯片事宜展开磋商
  8. Linux shell基础(四)正则表达式与grep命令 beta
  9. SQL之Sort的组合查询
  10. 来自平时工作中的css知识的积累---持续补充中
  11. cad填充图案乱理石_cad填充图案(cad中如何进行图案填充?)
  12. HelixQAC(QAC/QAC++)静态测试工具-软件代码安全漏洞检测工具试用
  13. 太极图形html5代码,HTML5 Canvas组件绘制太极图案
  14. 突发!ITELLYOU要改版了!
  15. kaminari 简要文档
  16. c语言定义禁止优化变量,c语言防止优化
  17. 科普文章-另一个视角解读计算机编码(修订版)
  18. 运维——ssh无法登录云服务器
  19. linux在电子信息工程行业中的应用,电子信息工程与应用子技术就业方向.doc
  20. Isometric Tile

热门文章

  1. (已解决)IDEA 导入Vue项目没有目录结构的问题
  2. Linux中Mycat远程连接Mysql8.0提示密码错误
  3. V4L2+Qt5实现摄像头视频采集以及参数控制
  4. TRIZ系列-创新原理-31-多孔材料原理
  5. Opencv练习-绘制文字-putText
  6. 网站选择按钮点击无反应?_实用图片素材网站推荐,高清、免费、无版权!
  7. 【学习总结】关于vue中table表头加粗与遮挡问题
  8. ios和android的录音格式
  9. flv.js播放flv视频
  10. java代码实现三角形