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