how to userinput without typing to a batch file

2020-02-12 13:44发布

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?

3条回答
你好瞎i
2楼-- · 2020-02-12 13:56

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"
查看更多
啃猪蹄的小仙女
3楼-- · 2020-02-12 14:05

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

查看更多
兄弟一词,经得起流年.
4楼-- · 2020-02-12 14:06

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
查看更多
登录 后发表回答