運行任務計劃程序而不開啟新的 JMP 實例我正在嘗試運行一個 JSL 腳本,該腳本使用 Windows 任務計劃程序每 3 小時更新一次各種資料表。不幸的是,每次執行 JSL 時,它都會開啟一個新的 JMP 實例,而不是使用已開啟的現有實例。是否有技巧可以完成此任務自動化,而無需每次任務計劃程序調用 JSL 文件時都打開新的 JMP 實例?
自動化和腳本編寫回覆:在不開啟新 JMP 實例的情況下執行任務排程程序感謝您提出有趣且非常有用的建議。儘管我使用單一資料檔案的方式沒有遇到任何問題,但我確實看到您關於資料檔案的「互動式」副本的建議會有一些優勢。
關於 JMP 問題的多個實例,就我而言,只有當我透過 Windows 控制面板將檔案類型設定為使用特定程式開啟時,該問題才已解決,如下程式註解 52261 所示。

回覆:在不開啟新 JMP 實例的情況下執行任務排程程序另一個選項是將獲取資料與視覺化資料分開。讓任務計劃程式腳本每次開啟 JMP 的新副本並更新電腦上某處的資料表。 然後,在 JMP 的「互動式」副本中包含一個腳本,用於定期刷新其他腳本保存的檔案。這往往會提供更好的使用者體驗,因為與來源資料的連接中的任何延遲都不會導致 JMP 在與圖形互動時掛起或滯後。
至於在同一 JMP 實例中開啟 jsl 文件,我建議聯絡 JMP 支援來解決該問題。
回覆:在不開啟新 JMP 實例的情況下執行任務排程程序傑夫,
感謝您的建議。不幸的是,建議的步驟並未解決該問題。有趣的是,我的另一台運行 JMP 和 JMP Pro 的機器沒有相同的問題。在現在出現問題的電腦上(我最近從 JMP 15 更新到 16),我嘗試了您提供的步驟,但仍然遇到相同的問題,即每次雙擊 JSL 檔案時都會開啟多個實例。我已經卸載了所有 JMP 版本,重新啟動電腦並重新安裝到 JMP 16,但每次啟動 JSL 檔案時都會打開一個新的 JMP 實例(運行上面顯示的 Hello World 腳本以及另一個打開資料表的腳本)。關於如何解決這個問題還有其他想法嗎?
回覆:在不開啟新 JMP 實例的情況下執行任務排程程序哦,這可能是因為你的註冊表弄亂了。 因為它對我來說運行得很好。即使您開啟 JMP 資料表也會出現這種情況嗎?在 Windows 上?
答案從這裡被盜
我相信你可以透過以下方法來修正這個問題。
- 退出所有正在運行的 JMP 會話
- 運行您希望用作預設 JMP 版本的 JMP 版本(如果您的電腦上碰巧安裝了多個 JMP 版本)
- 前往“檔案”-->“首選項”-->“Windows 特定”,然後按一下對話方塊視窗底部附近的“重設關聯”按鈕
這應該會修復 Windows 註冊表,將當前 JMP 會話與 JMP 檔案關聯起來。
現在嘗試雙擊您的文件,看看它是否按預期運行。
讓我們知道是否可以解決問題。
-傑夫
回覆:在不開啟新 JMP 實例的情況下執行任務排程程序我希望該流程在現有實例中運行,以便我可以定期繪製/評估最近收集的數據,而不必每次都打開 JMP。
我已經在使用選項 2,但它和選項 3 一樣,始終打開 JMP 的新實例,而不是在已開啟的實例中執行。如果多次執行以下腳本,它是在目前的 JMP 實例中執行還是每次執行都會開啟一個新實例? 很好奇你是否有與我不同的行為。
//!
清除日誌();
印刷(“你好世界”);
回覆:在不開啟新 JMP 實例的情況下執行任務排程程序我會看一下吉姆,看看這是否比任務規劃程式更好。
回覆:在不開啟新 JMP 實例的情況下執行任務排程程序有幾個選擇。
1. 為什麼不直接讓它開啟一個新實例,然後在 JMP 腳本結束時將其關閉?
2. 將 `//!` 放在腳本的開頭,然後打開它。它應該在您目前註冊的 jmp 版本中開啟並自動運行。
3. 將 .jsl 儲存為 .jrp,它應該執行與 2 相同的操作。
我個人更喜歡像這樣的非互動式操作來執行 1,因為這樣我可以確認 JMP 在 powershell 中正確關閉,以便我可以提供更好的控制台錯誤訊息。
回覆:在不開啟新 JMP 實例的情況下執行任務排程程序您可能想查看 JMP 中的 Schedule() 函數。它在給定的 JMP 會話中運行,並在同一會話中重新運行程式碼。