MATLAB Answers

Searching for a file when the filename is always changing

12 views (last 30 days)
Tat Onn Huen
Tat Onn Huen on 1 Sep 2021
Commented: Tat Onn Huen on 2 Sep 2021
Hi I am trying to readtable a dat file but the dat filename changes for different situations. Is it possible to readtable the dat file just based on the first few letters of the file?
sample = input('Sample? ', 's');
directory = 'C:\Users\tathuen\Desktop\Data\'
filename = append(directory, sample)
% Count number of location in file
dircontent = dir(filename);
numfolders = sum([dircontent.isdir]) - 2
% For loop to open all the data
for i = 1:numfolders
% Opening each dat files
T1 = readtable(append('C:\Users\tathuen\Desktop\Data\', sample, '\location', num2str(i), '-----\test-----\test1.dat'));
For example, the filename will always be 'location 1 (random letters) \ test (random letters)'. Is it possible to locate the file just based on 'location 1' and 'test'?
Thanks in advance! :)
Tat Onn Huen
Tat Onn Huen on 2 Sep 2021
i couldnt get this to work as the filenames were random so i couldnt create a filenames = [ ]. thanks for helping!

Sign in to comment.

Accepted Answer

dpb on 1 Sep 2021
"the filename will always be 'location 1 (random letters) \ test (random letters)'."
fSearch=fullfile(rootdir,'location*','test.*'); % build matching wildcard expression
d=dir(fSearch); % and look for match
for i=1:numel(d)
T1 = readtable(fullfile(d(i).folder.d(i).name);
Fix up the sample pattern to match the actual pattern; I didn't try to parse the sample code extremely carefully...

More Answers (0)





Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!