automatic execution of external program

2 views (last 30 days)
Hi to everybody! I need to execute an external program (like a.exe) via matlab. Specifically, I need to change the folder in a cmd.exe window, execute the program a.exe and do the following input (these are do via successfully iteration and not via command line when the program is launched): - a number (return command); - the input file path (return command); - the input file (return command). I need to do this automatically because I need to execute the program hundred or thousand times with different inputs. Furthermore, I need to transfer the information produced in the cmd window in matlab command window because, in the case of some errors occurs, the program prints this in the cmd window.
If I don't do this, how I can do it via an external file, like .bat file?
thanks to everybody

Answers (2)

Image Analyst
Image Analyst on 29 Mar 2015
See attached demo (which launches Photoshop) that you can modify as needed.
  4 Comments
simone battistutta
simone battistutta on 31 Mar 2015
the program produces 50 text files for each call; in the next days I will talk about the problem with those who produced the executable (has source files) in order to improve their integration in matlab
Image Analyst
Image Analyst on 31 Mar 2015
Why can't your program just read in the text file(s) that are created? That should work.

Sign in to comment.


Geoff Hayes
Geoff Hayes on 29 Mar 2015
Simone - consider using the system or dos functions to execute the external program. You may be able to use the cmdout output parameter from either to capture the information produced in the cmd window.
  4 Comments
simone battistutta
simone battistutta on 30 Mar 2015
ok, first of all I need to launch the program and view the output parameters: in this case, system function with cmdout is the best; now, the program asks me a number and wait for the return command; then, the input file path with return command and the input file name, return command. All these request are made in successive line and I can't pass it as parameters when I call the program. Since this program will be launch hundred or thousand of times during a simulation, I need something of automatic that catch the informations from a .m file and launch the program in an iterative way because I can't ask to the user to insert the information all of time. I hope to be clearly.
Geoff Hayes
Geoff Hayes on 31 Mar 2015
Simone - please given an example of how the program asks me a number and wait for the return command. How will you know that the program is asking (and so waiting) for a response>

Sign in to comment.

Categories

Find more on External Language Interfaces in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!