Use string to define path for uigetfile

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')

 采纳的回答

Jan
Jan 2018-3-11
编辑:Jan 2018-3-11
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)
% ^^^^^^

更多回答(1 个)

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 个评论

Hi Arthur. Your gode is working fine, but I would like to use the pwd string in the uigetfile instead of writing the whole path again: uigetfile('C:\Users\xxx\Documents\DTU\SAXS\*.txt','select file')
pwd = 'C:\Users\xxx\Documents\DTU\SAXS\';
[filename, dirname] = uigetfile( fullfile(pwd,'*.txt'), 'select file')
Hi Walter. I tried your code but I does not use the pwd as starting point. When I use:
[filename, dirname] = uigetfile('C:\Users\xxx\Documents\DTU\SAXS\*.txt', 'Select file');
it is working fine.
Do not use "pwd" as name of a variable, because it is a built-in function. Such "shadowing" causes unexpected behavior frequently.
The code I suggested works with Mac.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 App Building 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by