MATLAB - 对目录中的所有文件执行迭代功能

时间:2015-03-09 12:55:07

标签: matlab

我编写了一个MATLAB函数,它的作用类似于&myffunction('输入'输出')',其中输入和输出是输入并分别输出文件名。我需要在目录中的所有文件上实现此功能。是否可以遍历所有文件以在所有文件上实现代码?

1 个答案:

答案 0 :(得分:1)

使用dir列出工作目录中的文件

%// list all text files in your folder
fls = dir( fullfile( 'path', 'to', 'my', 'folder', '*.txt' ) ); 
for ii = 1: numel(fls)
    infile = fullfile( 'path', 'to', 'my', 'folder', fls(ii).name );
    outfile = fullfile( 'path', 'to', 'my', 'folder', [fls(ii).name(1:end-4),'.DL'] ); 
    myFunction( infile, outfile );
end

注意fullfile命令如何用于以对OS环境健壮的方式连接路径和文件名。

此外,正如excazacomment所述,最好使用fileparts将文件名与其扩展名分开。