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