uigetfile

Открытое диалоговое окно выбора файла

Описание

file = uigetfile открывает модальное диалоговое окно, которое перечисляет файлы в текущей папке. Это позволяет пользователю выбрать или ввести имя файла. Если файл существует и допустим, uigetfile возвращает имя файла, когда пользователь нажимает Open. Если пользователь нажимает Cancel или окно близкая кнопка (X), uigetfile возвращает 0.

[file,path] = uigetfile возвращает имя файла и путь к файлу, когда пользователь нажимает Open. Если пользователь нажимает Cancel или окно близкая кнопка (X), то uigetfile возвращает 0 для обоих из выходных аргументов.

пример

[file,path,indx] = uigetfile возвращает индекс фильтра, выбранного в диалоговом окне, когда пользователь нажимает Open.

пример

___ = uigetfile(filter) задает расширение файла, которым отфильтрованы файлы, отображенные в диалоговом окне. Используйте этот синтаксис с любой из комбинаций выходного аргумента в предыдущих синтаксисах.

Как правило, только файлы с соответствующим расширением файла отображены. На некоторых платформах, uigetfile файлы отображений, которые не совпадают с фильтром, но dims те имена файлов. Если фильтр отсутствует или пустой, uigetfile использует список по умолчанию типов файлов (например, весь MATLAB® файлы).

пример

___ = uigetfile(filter,title) задает заголовок диалогового окна. Отфильтровать использование фильтра файла по умолчанию, но задать пользовательский заголовок, пустые кавычки использования для значения фильтра. Например:

file = uigetfile('','Select a File')

пример

___ = uigetfile(filter,title,defname) задает имя файла по умолчанию для поля File name или папку по умолчанию, к которой открывается диалоговое окно.

пример

___ = uigetfile(___,'MultiSelect',mode) задает, может ли пользователь выбрать несколько файлов. Установите режим на 'on' включить многофайловый выбор. По умолчанию это установлено в 'off'.

Windows® библиотеки могут охватить несколько папок.

Примечание

Визуальные характеристики диалогового окна зависят от операционной системы, которая запускает ваш код. Например, некоторые операционные системы не показывают строки заголовка на диалоговых окнах. Если вы передаете заголовок диалогового окна на функцию uigetfile, те операционные системы не отображают заголовок.

Примеры

свернуть все

Отобразите полную спецификацию файла файла, выбранного в диалоговом окне. Используйте disp и fullfile функции, чтобы добавить объяснительный текст и конкатенировать path и file выходные значения.

[file,path] = uigetfile('*.m');
if isequal(file,0)
   disp('User selected Cancel');
else
   disp(['User selected ', fullfile(path,file)]);
end

File selection dialog box. The visible files are .m files and the file filter drop-down reads (*.m).

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

File selection dialog box. The dialog shows files with various extensions, and the file filter drop-down contains the extensions types.

User selected H:\Documents\MyCode\peaks.fig and filter index: 3

Отобразите только файлы с .m расширение в диалоговом окне путем определения '*. m' как filter входной параметр.

[file,path] = uigetfile('*.m');

File selection dialog box. The visible files are .m files and the file filter drop-down reads (*.m).

Создайте список расширений файла в выпадающем списке фильтра файла. Передайте filter входной параметр как массив ячеек из символьных векторов и разделяет расширения файла точками с запятой.

[file,path] = uigetfile({'*.m';'*.slx';'*.mat';'*.*'},...
                          'File Selector');

File selection dialog box. The file filter drop-down has an option for each specified file extension, and (*.m) is selected. The visible files are .m files.

Создайте список расширений файла и дайте им описания путем передачи filter входной параметр как массив ячеек из символьных векторов. Первый столбец массива ячеек содержит расширения файла, и второе содержит пользовательские описания типов файлов. Этот пример также сопоставляет несколько типов файлов с 'MATLAB Files' и 'Models' описания.

[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 selection dialog box. The file filter drop-down lists the specified file filter descriptions. The visible files are .m and .fig files.

Чтобы отобразить имя файла по умолчанию в поле File name, когда диалоговое окно откроется, передайте имя файла как defname входной параметр

 [file,path] = uigetfile('*.png',...
               'Select an icon file','icon.png')

File selection dialog box. The title of the dialog box is Select an icon file and the default file name is icon.png. The visible files are .png files.

Чтобы отобразить путь по умолчанию и имя файла в поле File name, когда диалоговое окно откроется, передайте полное имя файла как filter входной параметр.

[file,path] = uigetfile('C:\Documents\Work\icon.png',...
                        'Select an Image File')

File selection dialog box. The title of the dialog box is Select an Image File. The dialog is open to the C:\Documents\Work folder and the default file name is icon.png. The visible files are .png files.

Создайте список расширений файла путем передачи filter входной параметр как массив ячеек из символьных векторов. Задайте папку, к которой открывается диалоговое окно.

[file,path] = uigetfile({'*.png';'*.m'},...
               'Select a file','C:\Documents\AppBuildingFiles\')

File selection dialog box. The title of the dialog box is Select a file. The dialog is open to the C:\Documents\AppBuildingFiles folder and the file filter drop-down contains a .png and a .m filter.

Включите многофайловый выбор путем установки 'Multiselect' опция к 'on'. Пользователи могут выбрать несколько файлов путем удержания клавиши Shift или Ctrl и нажатия на имена файлов.

[file,path] = uigetfile('*.m',...
   'Select One or More Files', ...
   'MultiSelect', 'on');

File selection dialog box. The title of the dialog box is Select One of More Files. Multiple files in the dialog are selected.

Входные параметры

свернуть все

Фильтр файла в виде вектора символов, массива ячеек из символьных векторов или массива строк. Таблица ниже приводит типы входных параметров, которые можно передать filter аргумент и соответствующее поведение диалогового окна.

Входной параметрПоведениеПримеры
FileName

Имя файла появляется в поле File name диалогового окна. Расширение файла является значением фильтра по умолчанию.

Если имя файла содержит путь, диалоговое окно открывается к заданной папке. В противном случае это открывается к текущей папке. Если заданная папка не существует, то uigetfile открывает диалоговое окно для текущей папки.

  • 'icon.png'

  • 'C:\Documents\icon.png'

  • '..\icon.png'

Папка

Диалоговое окно отображается содержимое папки. Поле File name пусто, и никакой фильтр не применяется. Задавать имя папки, последний знак filter должна быть любой обратная косая черта (\) или наклонная черта (/).

Если заданная папка не существует, то uigetfile открывает диалоговое окно для текущей папки.

  • 'C:\Documents\'

Фильтры расширения файла

Диалоговое окно отображается только файлы с соответствующим расширением файла.

Чтобы позволить пользователям выбирать между несколькими фильтрами, задайте массив ячеек или массив строк с элементом для каждого фильтра. Фильтры появляются в поле фильтра выпадающее меню в диалоговом окне.

Чтобы создать фильтр больше чем с одним расширением файла, задайте расширения в односимвольном векторе или строке, разделенной точкой с запятой (;).

  • '*.m'

  • {'*.m';'*.mlx'}

  • {'*.m;*.mlx';'*.png;*.jpeg'}

Расширение файла фильтрует с описаниями

Диалоговое окно отображается расширения с их описаниями в поле фильтра. Пользователи могут выбрать между фильтрами.

К описаниям фильтра дисплейного отображения задайте два столбца в массиве ячеек или массиве строк. Первый столбец содержит список расширений файла. Второй столбец содержит соответствующий список описаний. Эти описания заменяют стандартные описания в поле фильтра. Описание не может быть пустым.

  • {'*.m;*.mlx','Code files';'*.png;*.jpeg','Image files'}

Если фильтр файла содержит путь, тот путь может содержать эти символы:

  • .

  • ..

  • \

  • /

  • ~

Например, '../*.m' списки все файлы кода с .m расширение в папке выше текущей папки.

Примечание

Если вы или пользователь включаете любого звездочка (*) или вопросительный знак (?) в имени файла, затем uigetfile не отвечает на нажатие Open. Диалоговое окно остается открытым, пока пользователь не нажимает Cancel или удаляет подстановочные символы из имени. Это ограничение применяется ко всем платформам, даже к файловым системам, которые разрешают эти символы в именах файлов.

Заголовок диалогового окна в виде вектора символов.

Пример: 'Select a File'

Значение поля File name по умолчанию в виде вектора символов или строкового скаляра. defname значение может задать путь, или путь и имя файла.

  • Если вы задаете путь, он может содержать следующие символы:

    • .

    • ..

    • \

    • /

    • ~

  • Чтобы задать имя папки только, сделайте последний знак defname значение любой обратная косая черта (\) или наклонная черта (/).

Пример: 'myfile.mat'

Пример: 'C:\Documents\my_MATLAB_files'

Пример: '..\myfile.mat'

Пример: '..\Documents\'

Мультивыберите режим в виде 'on' или 'off'. Если мультиизбранный режим выключен, то пользователь может выбрать один файл только. Если мультиизбранный режим включен, то пользователь может выбрать несколько файлов. Если пользователь выбирает несколько файлов, то они должны быть в той же папке; в противном случае MATLAB отображает диалоговое окно предупреждения. Microsoft® Библиотеки Windows могут охватить несколько папок.

Выходные аргументы

свернуть все

Имя файла, которое пользователь задал в диалоговом окне, возвращенном как вектор символов или массив ячеек из символьных векторов.

Массив ячеек из символьных векторов возвращен когда 'MultiSelect' установлен в 'on' и пользователь выбирает несколько файлов. Каждый элемент массива содержит имя выбранного файла. Имена файлов в массиве ячеек сортируются в порядке, который использует платформа пользователя. Если пользователь выбирает несколько файлов, они должны быть в той же папке, в противном случае MATLAB отображает диалоговое окно предупреждения.

Если пользователь нажимает кнопку Cancel или окно близкая кнопка (X), то MATLAB возвращает значение файла как 0.

Путь к заданному файлу или файлам, возвращенным как вектор символов.

Если пользователь нажимает кнопку Cancel или окно близкая кнопка (X), то MATLAB возвращает значение файла как 0.

Выбранный индекс фильтра, возвращенный как целое число.

Фильтр является непомеченным управлением диалоговым окном справа от поля File name в диалоговом окне. Значение индекса фильтра соответствует элементу, выбранному в фильтре выпадающий список. Индекс первой строки равняется 1.

Если пользователь нажимает кнопку Cancel или окно близкая кнопка (X), то MATLAB возвращает значение индекса 0.

Больше о

свернуть все

Модальное диалоговое окно

Модальное диалоговое окно препятствует тому, чтобы пользователь взаимодействовал с другими окнами MATLAB прежде, чем ответить на диалоговое окно.

Советы

  • Используйте путь и имя файла это uigetfile возвращается, чтобы открыть, считать или анализировать файл с помощью различных функций ввода и вывода в тулбоксах MATLAB и MATLAB. Например: перечисленный здесь.

    • imread для чтения изображений.

    • xlsread для чтения файлов Microsoft Excel.

    • open, edit, или run с файлами кода MATLAB. Например, этот код создает диалоговое окно, чтобы получить имя файла кода MATLAB от пользователя, создает полное имя файла из возвращенных значений, и затем запускает заданный пользователями файл кода.

      [file,path] = uigetfile('*.m');
      selectedfile = fullfile(path,file);
      run(selectedfile);
      

Альтернативная функциональность

Используйте dir функционируйте, чтобы возвратить отфильтрованный или неотфильтрованный список файлов в вашей текущей папке или папке, которую вы задаете. dir функция может возвратить атрибуты файла также.

Смотрите также

| |

Представлено до R2006a