Arguments to executable file

4 views (last 30 days)
I am working on a conversion of IDL code to Matlab.
IDL --= spawn, dir_progs+'file.exe -M' + filedats+ '.dat -NMOD 5 -R -PARR' + dir_prog+'datafile.dat',/log_output
-M,-R,-PARR are the commands to control how it executes.
dir_progs - directory of file.
Can anybody help me to execute this code into MATLAB?
Thanks in advance.

Accepted Answer

Walter Roberson
Walter Roberson on 26 Jun 2017
cmd = sprintf('"%s" -M"%s.dat" -NMOD 5 -R -PARR"%s"', fullfile(dir_progs, 'file.exe'), filedats, fullfile(dir_prog, 'datfile.dat'));
[status, output_log] = system(cmd);
Note: it is risky to have a variable named "dir_progs" and another one named "dir_prog" with only the final "s" different between the two -- there is a somewhat high risk of getting the two of them confused or of accidentally typing one when the other was wanted.
I made the string more robust by adding "" around names, in case there happen to be spaces in directory names.
There are some places in the string that I would tend to suspect should have a space separating parts, but it is possible that it is correct without those spaces; it depends on what the program expects.
  2 Comments
Nidhi SRIVASTAVA
Nidhi SRIVASTAVA on 26 Jun 2017
Edited: Nidhi SRIVASTAVA on 26 Jun 2017
Thanks a lot for the prompt response. Could you please explain what is obtained in the output_log? After running the code, I get a string array. Is it the contents in the .exe file?
Walter Roberson
Walter Roberson on 26 Jun 2017
The character vector output_log will contain whatever the .exe wrote out to standard output.

Sign in to comment.

More Answers (0)

Categories

Find more on Application Deployment 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!