process a list of files with a specific extension name in matlab

How can I process all the files with ".xyz" extension in a folder? The basic idea is that I want a list of file names and then a for loop to load each file.


Use dir() to obtain a list of filenames. You can specify wildcards.

As others have already mentioned, you should use the DIR function to list files in a directory.

If you are still looking, here is an example to show how to use the function:

dirName = 'C:\path\to\folder';              %# folder path
files = dir( fullfile(dirName,'*.xyz') );   %# list all *.xyz files
files = {}';                      %'# 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

Of course, you would have to supply the function that actually reads and parses the XYZ files.

You could use


fileName variable will have the list of all the filenames which you can use in the for loop

Here is my answer:

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}; 

varaible files_s returns the desire paths that contain those specific data types!

The subdir function can be found at:

Need Your Help

DateTime Round Up and Down

c# .net datetime rounding

Ive been looking for a proper rounding mechanism but nothing I find seems to be exactly what I need.