UIGETFILE to filter out files with specific string

I'm looking to do something fairly simple. I want to use UIGETFILE to have the user get a specific file. The user will be searching for an xml file in a specific folder - and that part I know how to do. I would like to have UIGETFILE further filter the options based on the string of the file. For example, the folder may contain:
Type1A.xml
Type1B.xml
Type2A.xml
Type2B.xml
...
Type7C.xml
and I would like the user to only be able to select (or see) anything that contains "Type1". In this case they should be able to see "Type1A.xml" or "Type1B.xml".
Not sure how to get this to happen with UIGETFILE or if maybe there is a better way around it. The FILTERSPEC in the input allows me to specify "*.xml" but I would ideally only like xml files with a specific string contained within the file name.
Thanks!

Réponses (2)

Image Analyst
Image Analyst le 3 Juil 2014

2 votes

Try passing in 'Type*.xml' for the file pattern in uigetfile().

4 commentaires

Miguel
Miguel le 3 Juil 2014
Tried that ... no luck
I tried it and it works fine. What does "no luck" mean to you? Here, try this. Save it as test3.m and run it. What do you see?
% Create a bunch of Type*.xml files in the current folder
% by copying this "test3.m" test script.
copyfile('test3.m', 'Type1.xml');
copyfile('test3.m', 'Type2.xml');
copyfile('test3.m', 'Type03.xml');
copyfile('test3.m', 'Type 4.xml');
[baseFileName, folder] = uigetfile('type*.xml')
Miguel, what's the status of this? Did my answer work now?
It works. I would like to do the same, but to filter just the last letters of the filename.
My Problem: I have the following two files in my folder:
KS_FFT_Pos-7_64364.xlsx
KS_FFT_Pos-7_64364_worked.xlsx
Only the "_worked.xlsx" data works for my following process in MatLab. So I would like to get that the user just have the opinion to select the right excel-data (the worked version).
EDIT: I got it!
It has to be
...uigetfile('*_worked.xlsx',...);

Connectez-vous pour commenter.

Ben11
Ben11 le 3 Juil 2014

0 votes

This submission from the file exchange might be what you are looking for:

1 commentaire

Miguel
Miguel le 3 Juil 2014
Thanks Ben. I've used this in the past for selecting multiple files out of different directories, but it seems overkill for what I need.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Environment and Settings dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by