How do you enter something at a console prompt programmatically?

batch-file

Solution

You can pipe in a 'y' character into the program like so:

echo y | executable.exe

Multiple lines can be entered like so:

(echo y
echo n) | executable.exe

...which will pass first 'y' then 'n'.

See tip from Microsoft here.

Problem

I have program, that must interact with a console program before my program can continue what it is doing. I'm trying to avoid my user from having to interact with this dos program. So, I created a `.bat` file that does everything I need to do except for the last step which still requires user interaction that I'm trying to avoid. Specifically, the command I type ends up at a prompt where I need to automatically enter `y` and then Enter (to say yes to the prompt) and then I want to exit out. Is there any way that I can make this happen automatically without my user having to enter `y` and Enter? Ideally, I'd like to have the console window NOT even pop up while this is going on.

Original source