windows 批处理脚本:如何运行可执行文件并回答可执行文件中的提示

windows 批处理脚本:如何运行可执行文件并回答可执行文件中的提示

我有一个在命令行上运行的旧可执行文件。它以交互方式提示用户输入特定信息。我想要做的是将此命令的所有交互包装到批处理脚本中,以便它只运行并回答提示无需用户交互

这与简单地执行带有参数的命令不同。可执行文件会提示用户。解释一下它的工作方式...

C:\MyDir>legacy.exe
  Welcome to old program.

  Please enter your name:
  > John Smith

  How many widgets are you buying:
  > 47

 Great, generating the PO file now...
 Goodbye.

理想情况下,我希望真正等待提示并相应地响应每个提示。我可以使用 Process 对象在 .NET 中执行此操作,但我想尝试使用 Windows 批处理脚本。如果我无法解析提示而只需要盲目转储参数,我也会这样做。

我懂了另一个问题的答案是使用 VBScript。有没有办法在普通批处理脚本中做到这一点?

答案1

这取决于您legacy.exe与(重定向)标准输入交互的方式。

你可以尝试一下

(Echo John Smith&Echo 47)|legacy.exe

如果这不起作用,您可能需要第三方sendkey.exe并按照建议从批处理中分离 legacy.exe赫纳罗·莫拉莱斯并使用 sendkey 应用程序以与 vbs 解决方案类似的方式进行输入。所以这不是纯的批次。请参阅这些搜索结果。

答案2

您是否曾尝试使用以下命令获取批处理文件:

启动“fullpath”legacy.exe?

相关内容