获取当前脚本的名称<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我正在尝试找到一种将脚本名称添加到脚本创建的报告中的方法。 这意味着我需要在某个时候获取脚本名称的文本字符串。 我可以那个脚本文件目录:
sDir=获取默认目录();
以及该目录中的文件:
lFiles=目录中的文件(sDir);
但是我还没有找到一种方法来仅获取我得到的文件名是我当前正在运行的脚本。 问题是,当稍后找到保存的报告时,我想确切地知道运行哪个脚本来生成所述报告。
请帮忙。
Re: 获取当前脚本的名称不知道这个函数已经存在了多长时间,因为我对 JMP 还很陌生,我只是在尝试解决类似问题时自己发现了这个函数,但似乎函数“包含文件列表()”返回了一个列表打开执行脚本上下文中的文件。 (顺便说一句,这个函数的描述只是提供信息,就像脚本索引或在线资源中的大多数函数/方法/消息一样。)
似乎如果在脚本打开其他任何内容之前在脚本顶部运行此函数,则可以从中提取脚本文件路径和脚本文件名,因为这是该点返回的唯一路径。
当我使用在 JMP 中打开的其他文件对其进行测试时,并通过从 Windows 资源管理器中双击它来运行脚本(通过在脚本顶部包含“//!”将脚本设置为在打开时运行而不打开脚本编辑器窗口) ),我只得到该脚本返回的路径。 不返回任何其他打开的文件。
Re: 获取当前脚本的名称这正是我所做的。 谢谢
Re: 获取当前脚本的名称在发布我的问题之前,我想出了几乎完全相同的脚本(“For”循环)。 它的问题是我不知道它返回的脚本是否是当前脚本。 例如,如果相同的脚本以不同版本保存在同一个文件夹中,我会得到一个 .jsl 文件列表。 无论有多少类似名称的脚本可能保存在同一位置,我都需要获取当前正在运行的脚本的名称。
Re: 获取当前脚本的名称如果脚本是从脚本窗口运行的,则下面示例中的直接方法会为您提供文件名。
scr_name = Current Window() << get window title;
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("My Report", Bivariate(Y(:weight), X(:height)), Text Box(scr_name));
Re: 获取当前脚本的名称不知道有没有办法做到这一点。我在每个脚本的开头设置了一个变量。有点乏味,但有助于调试。
名称= “我的脚本.JSL” ;
Re: 获取当前脚本的名称尝试使用:
包含(l文件, “脚本.jsl” ) ;
我使用它通过使用“.jmp”来定位 JMP 表,它对我有用。
或者,如果我的问题错了,还有另一种方法可以循环目录中的文件数量并获取脚本文件名,例如:
为了( n = 1 , n <= N 项( l 文件) , n ++,
文件=l文件[ n ] ;
如果(
以。。结束(文件, “.jsl” ) ,/*做你的事*/;
休息();
);
);