獲取當前腳本的名稱<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” ) ,/*做你的事*/;
休息();
);
);