图片缩略图

迪普拉斯

版本2.0.0.0(10.9KB)由 肯尼思·伊顿
dirPlus将递归地从文件夹树中收集文件/文件夹列表。

1.1K下载

更新2017年3月21日

查看许可证

这段代码是我最初发布的一个实用函数的更新版本,作为对堆栈溢出上的以下问题的回答:“如何获得MATLAB中特定目录下的所有文件?”(http://stackoverflow.com/q/2652630/52738).

代码库和早期版本可以在GitHub上找到(https://github.com/kpeaton/dirPlus).

用法:
LIST = dirPlus(ROOTPATH)将递归地搜索ROOTPATH下的文件夹树,并收集它找到的所有文件的单元格数组列表。该列表将包含从ROOTPATH开始的每个文件的绝对路径。

LIST=dirPlus(ROOTPATH,'PropertyName',PropertyValue,…)将根据指定的属性/值对修改文件和目录的选择方式以及列表格式。用户可以设置的有效属性包括:

概述:

“Struct”-一个逻辑值,用于确定输出列表是否应改为DIR函数返回的形式的结构数组。如果为TRUE,则列表将是N×1结构数组,而不是单元格数组。

'Depth' -一个非负整数值,表示dirPlus将搜索的最大文件夹树深度。值0将只在ROOTPATH中搜索,值1将在ROOTPATH及其子文件夹中搜索,等等。默认值(和最大允许值)是当前在根对象上设置的递归限制(即get(0, 'RecursionLimit'))。

“ReturnDirs”-一个逻辑值,用于确定输出是文件列表还是子目录。如果为TRUE,则列表将是子目录名称/路径的单元格数组。默认值为FALSE。

'PrependPath' -一个逻辑值,确定从ROOTPATH到文件/子目录的完整路径是否在LIST中的每个文件前面。默认的TRUE将放在完整路径的前面,否则只返回文件/子目录名。如果'Struct'参数为TRUE,该设置将被忽略。

特定于文件的:

“FileFilter”-定义将应用于文件名的正则表达式模式的字符串。列表中仅返回与该模式匹配的文件。默认值为“”(即包括所有文件)。

“ValidateFcn”-函数的句柄,该函数以DIR函数返回的表单结构作为输入,并返回逻辑值。此函数将应用于找到的所有文件,并且只有具有真实返回值的文件才会包含在列表中。默认值为[](即包含所有文件)。

特定目录:

“DirFilter”-定义将应用于子目录名称的正则表达式模式的字符串。只有与该模式匹配的子目录才会被视为有效(即包含在列表中或其文件包含在列表中)。默认值为“”(即所有子目录都有效)。参数“RecurseInvalid”的设置确定无效子目录是否仍在向下递归。

“ValidateDirFcn”-函数的句柄,该函数以DIR函数返回的形式的结构作为输入,并返回一个逻辑值。此函数将应用于找到的所有子目录,只有具有真实返回值的子目录才被视为有效(即包含在列表中或将其文件包含在列表中)。默认值为[](即所有子目录都有效)。“RecurseInvalid”参数的设置确定是否仍然递归下无效的子目录。

'RecurseInvalid' -一个逻辑值,确定无效的子目录(由'DirFilter'和'ValidateDirFcn'参数标识)是否仍然应该递归向下。默认值为FALSE(即递归搜索停止在无效的子目录)。

有关如何使用这些选项的示例可以在演示脚本getAllFiles_demo.m中找到,也可以在getAllFiles_demo.html中以已发布的形式找到。

引用为

肯尼斯·伊顿(2021)。迪普拉斯(//www.tianjin-qmedu.com/matlabcentral/fileexchange/60716-dirplus),MATLAB中心文件交换.

MATLAB版本兼容性
创建R2016b
与任何版本兼容
平台兼容性
窗户 macOS Linux
致谢

受到启发的:EnergyPlus联合仿真工具箱

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!