想必很多小伙伴在matlab中对文件进行批处理时经常会使用dir函数吧,dir函数用于列出文件夹中的内容。使用语法如下:
% Matlab
dir % 列出当前文件夹中的文件和文件夹,当然调用方式也可以是listing = dir
dir name % 列出当前文件夹中与name同名的文件和文件夹,不支持调用方式listing = dir name
listing = dir(name) % 列出当前文件夹中与name同名的文件和文件夹
当使用如下调用方式时,注意文件个数为当前文件夹下文件(包括文件夹)数目+2。
% Matlab
listing = dir;
% 为什么是文件个数加2
listing(1).name
listing(2).name
因为该函数会返回当前目录('.')和上一级目录('..')。
当然为了避免这种现象,我们可以指定待查找的文件格式,这样就不会导致要处理的文件个数莫名其妙的多出两个了。这时我们就需要使用通配符*和**。注意**通配符旁边的字符必须是文件分割符。例如我们想要返回当前文件夹下所有的txt类型文件,就可以使用如下调用方式:
% Matlab
listing = dir('*.txt')