1. 要求
获取指定文件夹下(包含子文件夹),所有指定后缀(如txt)的文件路径(即文件所在目录+文件名),返回一个字符串数组。
2. 代码
获取C:/Users/Administrator/Desktop文件夹下(包含子文件夹)的所有.m文件
clear
dirOutput = dir('C:/Users/Administrator/Desktop/**/*.m');
folder = string({dirOutput.folder}');
file = string({dirOutput.name}');
filepath = strcat(folder, '\', file);
获取C:/Users/Administrator/Desktop文件夹下(不包含子文件夹)的所有.m文件
clear
dirOutput = dir('C:/Users/Administrator/Desktop/*.m');
folder = string({dirOutput.folder}');
file = string({dirOutput.name}');
filepath = strcat(folder, '\', file);
封装成函数。调用时若输入两个参数,则默认搜索子文件夹
function filepath = getFilesPath(baseDir, ext, findSubfile)
if nargin == 2 % 判断输入的参数是否为2
findSubfile = true;
end
if findSubfile
dirOutput = dir([baseDir '/**/*.' ext]);
else
dirOutput = dir([baseDir '/*.' ext]);
end
folder = string({dirOutput.folder}');
file = string({dirOutput.name}');
filepath = strcat(folder, '\', file);
end
调用方法
getFilesPath('C:/Users/Administrator/Desktop', 'm')
结果展示