Automatically entering inputs into executable code at prompt

11 vues (au cours des 30 derniers jours)
Bob Thompson
Bob Thompson le 8 Fév 2018
Commenté : Chien-Han Su le 22 Août 2020
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?

Réponses (1)

Bob Thompson
Bob Thompson le 13 Fév 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.
  1 commentaire
Chien-Han Su
Chien-Han Su le 22 Août 2020
This works for me (on MATLAB 2020a under Ubuntu 20.04 LTS)! Thank you!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by