0

我正在编写一个脚本,需要用户选择要在其上工作的子目录。

在这里指出我被卡住的地方:

curr_dir = dir(pwd);

% Select only subdirectories
dirs = {curr_dir([curr_dir(:).isdir]).name}';
dirs(ismember(dirs,{'.','..'})) = [];

% Ask the user which one to use
dir_selected = 0;
while dir_selected == 0;
    selection = ; % <------------- INSERT HERE MISSING CODE
    if length(selection) == 1
        dir_selected = 1;
    elseif length(selection) > 1
        fprintf('\nPlease enter only one value\n');
    elseif selection > length(dirs)
        fprintf('\nPlease enter a valid value\n');
    else
        fprintf('\nPlease enter a value\n');
    end
end

path_files = dirs(selection);

我需要向用户列出当前的子目录(连同它们的索引),并要求用户输入他想要工作的文件夹的索引。

我已经看到了input()和的示例prompt(),但大多数都假设消息是静态的。是否可以动态生成消息/提示?

4

1 回答 1

0

好的,对不起大家,我找到了解决问题的方法。

我使用以下代码:

fprintf('\nPlease select the desired subdirectory:\n');
for i = 1:length(dirs)
    fprintf('%i: %s\n',i,dirs{i});
end
selection = input('Which is the desired subdirectory?: ');
于 2013-04-02T09:08:11.803 回答