Continue after .exe finishes
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi,
I am running an external .exe file that returns something to the matlab command line once it has finished. I would like to use this in an optimization but currently the enter key needs to be pressed in the command line in order for the .exe to close and then for the matlab code to continue.
Here's how i'm calling the .exe: eval(['!program',tempfilename]);
Is there a way I can continue after it has finished? I have tried a timer and the java robot, but neither seem to work.
Thanks,
댓글 수: 1
Rik
2021년 6월 9일
You will have to find a way to get your program to work without interaction.
Also, why aren't you using system instead of eval?
채택된 답변
Joel Lynch
2021년 6월 9일
편집: Joel Lynch
2021년 6월 9일
You can use system() function to pass the command (as a string) without the "!" symbol. If using unix OS, you can pipe (with the | character) a newline character entry ( with echo -e '\n') to a program. System will wait until both commands are completed. Note: the double apostrophes around \n are needed as escape characters and print an apostrophe.
system(['echo -e ''\n'' | ',some_exe_str]);
Not sure if using Windows...
댓글 수: 8
Rik
2021년 6월 9일
Or with the double quote:
status = system( [ 'echo. | program "' tempfilename '"'] );
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!