Use string to define path for uigetfile

9 Ansichten (letzte 30 Tage)
JB
JB am 11 Mär. 2018
Kommentiert: Walter Roberson am 11 Mär. 2018
I am trying to use a string to define the path for uigetfile in matlab GUI. But I can't get it to work. The uigetfile does not use the my string as path. What am I doing wrong?
Here the code I am trying.
pwd={'C:\Users\xxx\Documents\DTU\SAXS\'};
[filename, dirname] = uigetfile(fullfile(pwd,'folder1','*.txt'),'select file')

Akzeptierte Antwort

Jan
Jan am 11 Mär. 2018
Bearbeitet: Jan am 11 Mär. 2018
There are two methods:
% Folder is not a cell string and not the name "pwd":
Folder = 'C:\Users\xxx\Documents\DTU\SAXS\folder1';
[filename, dirname] = uigetfile(fullfile(Folder, '*.txt'), 'select file')
This does not work if you want to provide a list of accepted file extensions. Then you can specify the initial folder as 3rd argument:
Folder = 'C:\Users\xxx\Documents\DTU\SAXS\folder1';
[filename, dirname] = uigetfile({'*.txt', 'Text-files (*.txt)'; ...
'*.asc', 'ASCII files (*.asc)'; ...
'*.*', 'All Files (*.*)'}, 'select file', Folder)
% ^^^^^^

Weitere Antworten (1)

Arthur Vidal
Arthur Vidal am 11 Mär. 2018
Bearbeitet: Walter Roberson am 11 Mär. 2018
Hi JB, the following code worked well for me. Try it and let me know if work for you.
pwd='C:\Users\xxx\Documents\DTU\SAXS\';
[filename, dirname] = uigetfile('C:\Users\xxx\Documents\DTU\SAXS\*.txt','select file')
Make sure that the string are not cell variables and also that the path your are sending exist.
  5 Kommentare
Jan
Jan am 11 Mär. 2018
Do not use "pwd" as name of a variable, because it is a built-in function. Such "shadowing" causes unexpected behavior frequently.
Walter Roberson
Walter Roberson am 11 Mär. 2018
The code I suggested works with Mac.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by