4

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

cmd /c setup.bat

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

4

3 回答 3

5

您可以使用像 < 之类的流运算符。在文件中每行写一个预期的答案(例如 foi)。使用 < 运算符将此文件传递给 setup.bat:

cmd /c setup.bat < foi
于 2012-08-28T15:47:42.487 回答
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"
于 2012-08-28T22:20:48.560 回答
1

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

cmd /c echo Y | setup.bat

其中 Y 将是您的提示输入,您希望自动按下

于 2017-12-31T08:41:04.423 回答