I am trying to run a batch file which requires user input "y/n" to do further action. I want to call this batch file for automation, as during automation argument yes or no need to be passed without user intervention, any idea how to achieve it ?
cmd /c setup.bat
Now if setup.bat
is run " yes or no " need to be selected to get the desired result
as now this setup.bat
is called during automation. Is there anyway to pass "yes" parameter as an input to setup.bat
?
You can use stream operators like <. Write every expected answer one per line in a file (e.g. foi). Pass this file to the setup.bat using < operator:
cmd /c setup.bat < foi
Use below command line to automate "yes" answer by simulating y
key press (will include the ENTER
key).
cmd /c echo y^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"
To automate "no" answer by simulating n
key then ENTER` key.
cmd /c echo n^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"
To automate "yes" answer by simulating "yes" key presses then ENTER
key:
cmd /c echo yes^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"
To automate "no" answer by simulating "no" key presses then ENTER
key:
cmd /c echo no^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"
I guess the simplest solution here is using the pipe with cmd
( | : Reads the output from one command and writes it to the input of another command. Also known as a pipe)
so for you its..
cmd /c echo Y | setup.bat
where Y will be your prompt input, the pressing of which you wish to automate