使用 RunProgram 時,用於記錄的 CMD 視窗永遠不會顯示我在使用“RunProgram”調用我的 exe 時遇到問題,應該會出現用於日誌記錄的 CMD 窗口,但它從未顯示。
手動運行CMD視窗可以正常彈出。 有人可以幫我解決這個問題嗎? 提前致謝 : )
JSL程式碼:
RP = Run Program(
Executable(
exefilepathRoot || "CommonalityEngine\PyScript\get_data_from_cache.exe"
),
Options( Char( CAEngine_Main:ConfigFileName ) ),
ReadFunction( "text" )
);
在沒有 JSL 的情況下手動運行時可以顯示 CMD 視窗:

品質和工藝工程回覆:使用 RunProgram 時永遠不會顯示用於記錄日誌的 CMD 視窗這聽起來像是@Craige_Hales那麼可能是正確的,因為您的變數 rp 可能已經具有該日誌資訊。嘗試運行這個:
names default to here(1);
RP = Run Program(
Executable(
exefilepathRoot || "CommonalityEngine\PyScript\get_data_from_cache.exe"
),
Options( Char( CAEngine_Main:ConfigFileName ) ),
ReadFunction( "text" )
);
New Window("Output", text box(RP));
或者,這裡是任何 Windows 上的人都可以運行的範例:
names default to here(1);
rp = Run Program(
Executable( "cmd.exe" ),
Options( {"/c", "TaskList\!n"} ),
Read Function( "text" ) // returns all text
);
New Window("Output", text box(rp));回覆:使用 RunProgram 時永遠不會顯示用於記錄日誌的 CMD 視窗嗨,呃,
感謝您的解決方案。 我希望用戶看到該窗口,因為該窗口上列印有日誌。回覆:使用 RunProgram 時永遠不會顯示用於記錄日誌的 CMD 視窗是的,我們需要更多資訊。 您是否與 get_data_from_cache.exe 互動? 它會打開其他視窗嗎? 它是否需要接收某種文件結尾?
RP 變數可能已經保存了 CMD 視窗中出現的文本,請嘗試
write(rp);
看看這是否是你想要的。
如果您需要在視窗中輸入某些內容,RunProgram 的 writeFunction 可以提供文字。
或者,您可能想要執行 CMD.EXE 並向其傳遞要執行的程式的名稱。
回覆:使用 RunProgram 時永遠不會顯示用於記錄日誌的 CMD 視窗你好@白雲,
一旦該視窗打開,您希望對其做什麼? 「運行程式」功能故意不顯示使用者介面,因為它的目的是讓您完全透過腳本控製程式。最有可能的是,您想要在 CMD 視窗中執行的操作,可以在 JMP 中執行,並讓 JMP 透過讀寫函數將這些指令傳遞給程式。
此連結可能會幫助您開始:
https://www.jmp.com/support/help/en/15.2/jmp/run-external-programs.shtml