Automatically entering inputs into executable code at prompt

10 次查看(过去 30 天)
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?

回答(1 个)

Bob Thompson
Bob Thompson 2018-2-13
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.

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by