0

我正在寻找在 Scilab 中选择多个目录的功能。我在 Matlab Central uipickfiles.m 中找到了类似的功能。但是 Scilab 中是否有更简单和类似的功能。如果它尚不可用,我正在尝试为它编写一个函数。

非常感谢任何建议/指导。

问候德瓦拉吉

4

1 回答 1

0

由于内置 GUI 不允许您选择更多目录,因此这里有一个解决方法,分 3 步:

  1. 首先选择一个“父”目录,您要在其中选择多个子目录
  2. 列出子目录
  3. x_choices使用对话框选择多个子目录

例如:

directory=uigetdir();  //select the parent directory, in which you want to choose multiple subdirectories!

allfiles=dir(directory);   //all files in the directory
onlydirectories=allfiles.name(find(allfiles.isdir));  //select only the directories

if size(onlydirectories,"*")>1 then   //there are 2 or more directory
  L=list(list(onlydirectories(1),1,["-","+"]));  //build the lists for x_choices:
  for i=2:size(onlydirectories,"*")
    L(i)=list(onlydirectories(i),1,["-","+"]);
  end

  rep=x_choices("Select directories with +",L);   //multiple choices with toggle buttons

  selecteddirectories=onlydirectories(find(rep==2));
  disp(selecteddirectories,"selecteddirectories:");

  selectedfullpath=directory+selecteddirectories+"\";
  disp(selectedfullpath,"selectedfullpath:");
end

不是太漂亮的解决方案,但它有点工作......

于 2015-09-09T22:47:29.563 回答