如何在文件夹中处理扩展名为“.xyz”的所有文件?基本思想是我需要一个文件名列表,然后是一个for循环来加载每个文件。
答案 0 :(得分:26)
正如其他人已经提到的,您应该使用DIR功能列出目录中的文件。
如果你还在寻找,这是一个展示如何使用该功能的例子:
dirName = 'C:\path\to\folder'; %# folder path
files = dir( fullfile(dirName,'*.xyz') ); %# list all *.xyz files
files = {files.name}'; %'# file names
data = cell(numel(files),1); %# store file contents
for i=1:numel(files)
fname = fullfile(dirName,files{i}); %# full path to file
data{i} = myLoadFunction(fname); %# load file
end
当然,您必须提供实际读取和解析XYZ文件的函数。
答案 1 :(得分:18)
使用dir()
获取文件名列表。您可以指定通配符。
答案 2 :(得分:4)
您可以使用
fileName=ls('*xyz')
。
fileName变量将包含您可以在for循环中使用的所有文件名的列表
答案 3 :(得分:0)
以下是我的回答:
dirName = 'E:\My Matlab\5';
[sub,fls] = subdir(dirName);
D = [];
j = 1;
for i=1:length(sub),
files{i} = dir( fullfile(sub{i},'*.xyz') );
if length(files{i})==1
D(j) = i;
files_s{j} = sub{i};
j=j+1;
end
end
变量files_s
返回包含这些特定数据类型的所需路径!
可以在以下位置找到subdir函数: http://www.mathworks.com/matlabcentral/fileexchange/1492-subdir--new-