Открытое диалоговое окно выбора файла
file = uigetfile
[file,path] = uigetfile
[file,path,indx] = uigetfile
___ = uigetfile(filter)
___ = uigetfile(filter,title)
___ = uigetfile(filter,title,defname)
___ = uigetfile(___,'MultiSelect',mode)
открывает модальное диалоговое окно, которое перечисляет файлы в текущей папке. Это позволяет пользователю выбрать или ввести имя файла. Если файл существует и допустим, file
= uigetfileuigetfile
возвращает имя файла, когда пользователь нажимает Open. Если пользователь нажимает Cancel или окно близкая кнопка (X), uigetfile
возвращает 0
.
___ = uigetfile(
задает расширение файла, которым отфильтрованы файлы, отображенные в диалоговом окне. Используйте этот синтаксис с любой из комбинаций выходного аргумента в предыдущих синтаксисах.filter
)
Как правило, только файлы с соответствующим расширением файла отображены. На некоторых платформах uigetfile
отображает файлы, которые не совпадают с фильтром, но dims те имена файлов. Если фильтр отсутствует или пустой, uigetfile
использует список по умолчанию типов файлов (например, все файлы MATLAB®).
___ = uigetfile(___,'MultiSelect',
задает, может ли пользователь выбрать несколько файлов. Установите режим на mode
)'on'
включать многофайловый выбор. По умолчанию это установлено в 'off'
.
Библиотеки Windows® могут охватить несколько папок.
Визуальные характеристики диалогового окна зависят от операционной системы, которая запускает ваш код. Например, некоторые операционные системы не показывают строки заголовка на диалоговых окнах. Если вы передаете заголовок диалогового окна на функцию uigetfile, те операционные системы не отображают заголовок.
Отобразите полную спецификацию файла файла, выбранного в диалоговом окне. Используйте disp
и функции fullfile
, чтобы добавить объяснительный текст и конкатенировать выходные значения file
и path
.
[file,path] = uigetfile('*.m'); if isequal(file,0) disp('User selected Cancel'); else disp(['User selected ', fullfile(path,file)]); end
User selected H:\Documents\MyCode\surf.m
Отобразите индексный выбор фильтра с объяснительным текстом в Командном окне. Используйте функцию num2str
, чтобы преобразовать числовое индексное значение фильтра (indx
) в символьный массив. Выполнение так делает значение допустимым входом к функции disp
.
[file,path,indx] = uigetfile; if isequal(file,0) disp('User selected Cancel') else disp(['User selected ', fullfile(path, file),... ' and filter index: ', num2str(indx)]) end
User selected H:\Documents\MyCode\peaks.fig and filter index: 3
Отобразите только файлы с расширением .m
в диалоговом окне путем определения '*. m'
как входного параметра filter
.
[file,path] = uigetfile('*.m');
Создайте список расширений файла в выпадающем списке фильтра файла. Передайте входной параметр filter
как массив ячеек из символьных векторов и разделите расширения файла точками с запятой.
[file,path] = uigetfile({'*.m';'*.slx';'*.mat';'*.*'},... 'File Selector');
Создайте список расширений файла и дайте им описания путем передачи входного параметра filter
как массива ячеек из символьных векторов. Первый столбец массива ячеек содержит расширения файла, и второе содержит пользовательские описания типов файлов. Этот пример также сопоставляет несколько типов файлов с описаниями 'Models'
и 'MATLAB Files'
.
[file,path,indx] = uigetfile( ... {'*.m;*.mlx;*.fig;*.mat;*.slx;*.mdl',... 'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)'; '*.m;*.mlx','Code files (*.m,*.mlx)'; ... '*.fig','Figures (*.fig)'; ... '*.mat','MAT-files (*.mat)'; ... '*.mdl;*.slx','Models (*.slx, *.mdl)'; ... '*.*', 'All Files (*.*)'}, ... 'Select a File');
Чтобы отобразить имя файла по умолчанию в поле File name, когда диалоговое окно откроется, передайте имя файла как входной параметр defname
[file,path] = uigetfile('*.png',... 'Select an icon file','icon.png')
Чтобы отобразить путь по умолчанию и имя файла в поле File name, когда диалоговое окно откроется, передайте полное имя файла как входной параметр defname
.
[file,path] = uigetfile('C:\Documents\Work\icon.png',... 'Select an Image File')
Включите многофайловый выбор путем установки опции 'Multiselect'
на 'on'. Пользователи могут выбрать несколько файлов путем удержания клавиши Shift или Ctrl и нажатия на имена файлов.
[file,path] = uigetfile('*.m',... 'Select One or More Files', ... 'MultiSelect', 'on');
Используйте путь и имя файла, которое uigetfile
возвращает, чтобы открыть, считать или анализировать файл с помощью различных функций ввода и вывода в тулбоксах MATLAB и MATLAB. Например: перечисленный здесь.
imread
для чтения изображений.
xlsread
для чтения файлов Microsoft Excel.
open
, edit
или run
с файлами кода MATLAB. Например, этот код создает диалоговое окно, чтобы получить имя файла кода MATLAB от пользователя, создает полное имя файла из возвращенных значений, и затем запускает заданный пользователями файл кода.
[file,path] = uigetfile('*.m'); selectedfile = fullfile(path,file); run(selectedfile);
Используйте функцию dir
, чтобы возвратить отфильтрованный или неотфильтрованный список файлов в вашей текущей папке или папке, которую вы задаете. Функция dir
может возвратить атрибуты файла также.