In a windows batch, I want to start a program that prompts the user for an input:
>someProgram.exe > "Please enter "s" to start the program: >
How can I automatically pass the "y" input to the prompt, such that I can start the program by just clicking the batch?
You are able to prompt a user for input using a Batch script function.
batch-file Echo @Echo off @echo off prevents the prompt and contents of the batch file from being displayed, so that only the output is visible. The @ makes the output of the echo off command hidden as well.
When used in a command line, script, or batch file, %1 is used to represent a variable or matched string. For example, in a Microsoft batch file, %1 can print what is entered after the batch file name.
Use double percent signs ( %% ) to carry out the for command within a batch file. Variables are case sensitive, and they must be represented with an alphabetical value such as %a, %b, or %c. ( <set> ) Required. Specifies one or more files, directories, or text strings, or a range of values on which to run the command.
You want this:
echo y | [Command]
Eg: echo y | program.exe
"echo <answer> | <batch command>"
Ex: The del /P command option will prompt for user's confirmation before deleting the file. So if you are using this option in your batch script, it requires manual input to proceed further. To avoid this manual input, use the command "echo Y | del /P " in your batch script to answer the prompt.
You can try this echo command to pass input (ex: answer for username and password prompts) to your console application, when it is invoked through batch script.
Refer: http://thirutechie.blogspot.com/2009/10/how-to-auto-answer-prompts-in-windows.html
For multiple inputs, do:
(echo input1 && echo input2) | program.exe
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With