如何在不键入批处理文件的情况下输入用户

时间:2012-08-28 15:37:06

标签: batch-file cmd

我正在尝试运行批处理文件,该文件需要用户输入“y / n”才能执行进一步操作。我想调用这个批处理文件进行自动化,因为在自动化参数期间是或者不需要在没有用户干预的情况下传递,任何想法如何实现它?

cmd /c setup.bat

现在,如果运行setup.bat,则需要选择“是或否”以获得所需结果 现在这个setup.bat在自动化期间被调用。无论如何都要将“yes”参数作为setup.bat的输入传递?

3 个答案:

答案 0 :(得分:4)

您可以使用<等流媒体运营商。在文件中每行写一个预期答案(例如foi)。使用<将此文件传递给setup.bat操作者:

cmd /c setup.bat < foi

答案 1 :(得分:4)

使用以下命令行通过模拟y按键(将包含ENTER键)来自动回答“是”。

cmd /c echo y^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"

通过模拟n键然后按ENTER键来自动回答“否”。

cmd /c echo n^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"

要通过模拟“是”按键自动回答“是”,然后按ENTER键:

cmd /c echo yes^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"

通过模拟“否”键按下自动“否”回答,然后按ENTER键:

cmd /c echo no^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp"

答案 2 :(得分:1)

我想这里最简单的解决方案是使用带有cmd的管道 (|:从一个命令读取输出并将其写入另一个命令的输入。也称为管道) 所以对你来说..

cmd /c echo Y | setup.bat

其中Y将是您的提示输入,按下您想要自动化的