Automatically entering inputs into executable code at prompt

11 views (last 30 days)
I have an old executable code, say run.exe, which asks for user inputs. I would like to create a script which automatically runs the executable and enters the user inputs. I have figured out how to run the code, but I am not sure how to enter the inputs at the prompt in an automated fashion.
execute = '!run.exe'
eval(execute) % This runs the executable
% Executable returns:
Enter input value a:
I do not have access to the coding for the executable, and I have not seen it, so I do not know how to recreate it. Is it possible to have automatic entries for this type of situation?

Answers (1)

Bob Thompson
Bob Thompson on 13 Feb 2018
Ok, I figured out how to do this. Basically instead of entering the inputs as individual commands the inputs are entered into a text file.
commandfile = fopen('commandfile.txt','w');
fprintf(commandfile,'Enter inputs to read in executable here');
fclose(commandfile);
system('executable.exe < commandfile.txt'); % I used the system command here, rather than evaling '!'. I believe they both would work, but I decided to stick with system from another user.
By using the actually command prompt command of 'executable.exe < commandfile.txt' command prompt knows to run the executable and read the command input text at the same time, allowing for commands to be entered into the executable.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!