How to utilize results of dir command.

11 views (last 30 days)
Hi, I am trying to use some code in a program of mine, that enables me to search for a file. In my treatment of data, I will always get only one result with the command:
dir * full *.xls (I have added some spaces on the sides of full, in order to keep things looking as they do in my command window.)
This command returns a string to me.
How do I save this string, or in any other way use this handle to open this exact file? I cannot store it to a variable using a command like:
Secretfilename=dir * full *.xls
In all this it is central that I do not know the entire name of the file I need. I only know that using this command will give said file as the only result.
Best regards, Nicki.

Accepted Answer

Walter Roberson
Walter Roberson on 12 Nov 2013
Use the function form of dir().
I am not sure what
* full *.xls
would be intended to mean. Possibly the equivalent would be
Secretfileinfo = dir('* full *.xls');
then possibly
fopen(Secretfileinfo.name, 'r')
It might be more complex if the "* full" is intended to designate a directory.
  2 Comments
Nicki
Nicki on 12 Nov 2013
The * full * is a part of the filename, that narrows my result down to one, everey time. It is part of a treatment of a larger dataset I've sorted into subfolders beforehand. Your tip was spot on, I just needed a parenthesis, newbie mistakes are also for the semi-experienced I guess.
Thank you, I believe my problem to be solved.

Sign in to comment.

More Answers (1)

EiGeN
EiGeN on 12 Nov 2013
Edited: EiGeN on 12 Nov 2013
TargetFolder = d:\Test;
FileList = dir(fullfile(TargetFolder,'*full*.xls');
% or make string use sprintf function
N = length(FileList);
for k = 1 : N
filename = fullfile(TargetFolder,FileList(k).name);
num = xlsread(filename)
...
end

Categories

Find more on File Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!