改变目录的ImageJ宏代码

ImageJ macro code to change directory

我正在学习如何在 ImageJ 中编写宏。我有用户 select 一个存储数据的文件夹,例如

path=getDirectory("Choose a data folder");

一旦用户select编辑了文件夹,例如

path = D:\data_superfolder\data_folder

然后我需要访问上一层的文件,例如

newpath = D:\data_superfolder

在 Matlab 中提升一级我需要做的是,

cd('..')

超级简单,但是我通读了 ImageJ 用户手册我找不到类似的代码。我该怎么做?

谢谢!

您可以将 /.. 附加到目录路径以引用其父文件夹。

这是一个示例宏,提示用户选择一个目录,然后列出其父目录的内容。

path = getDirectory("Choose a folder");
list = getFileList(path + "/..");
for (i = 0; i < list.length; i++) {
    print(list[i]);
}

好的,我遇到了类似的问题,尝试了此处建议的修复方法,但我无法让它工作...但是,对我有用的是定义一个新变量对应于初始输入目录的父目录,使用函数 File.getParent().

例如:

path = getDirectory("Choose a folder");
parent_path = File.getParent(path);
list = getFileList(parent_path);

for (i = 0; i < list.length; i++) {
print(list[i]);
}

所以在您的情况下,一旦用户选择了文件夹,例如,

path = D:\data_superfolder\data_folder

变量“parent_path”将是:

parent_path = D:\data_superfolder

干杯!