【问题标题】:Automatically answer input prompt of an exe started within a windows batch自动回答在 Windows 批处理中启动的 exe 的输入提示
【发布时间】:2025-12-14 10:10:01
【问题描述】:

我有一个InputPromptAutomation.exe,它在启动时提示用户输入,如果用户输入为s,则关闭:

C:\>AutomateInputPrompt\InputPromptAutomation.exe
Input 's' to stop the application:
s
C:\>

我的问题:我想自动启动 .exe,这样我就可以通过双击 StartInputPrompt.bat 来启动它。如何自动传递s 输入,以便InputPromptAutomation.exe 在执行StartInputPrompt.bat 时启动并退出?

【问题讨论】:

  • echo s|AutomateInputPrompt\InputPromptAutomation.exe ?

标签: windows batch-file


【解决方案1】:
echo s | AutomateInputPrompt\InputPromptAutomation.exe

这是一个将 Dir 导入新 CMD 实例的示例

Echo dir | cmd /k

将 S 然后 Enter 放入文件中。

AutomateInputPrompt\InputPromptAutomation.exe < file.txt

这是一个先执行 dir 然后是 Type c:\windows\win.ini 的示例

File.txt(记得在最后一行后按回车键)。这不是一个批处理文件(尽管它与一个相同,因为我使用 CMD 作为示例程序)。

dir
type c:\windows\win.ini

然后输入

cmd /k < file.txt

这假设程序正在从 StdIn 读取,大多数情况下,但并非所有控制台程序都这样做。 EG 当你看到Press any key to continue 时,程序没有读取标准输入。

Start 是一个内部命令名。不要将批处理文件命名为start,因为它在某些情况下会导致问题。

【讨论】:

  • 感谢您的回答。这两个代码是 sn-ps 的替代品吗?我必须在 file.txt 中添加什么?
  • 您想发送给程序的任何内容。它们是替代方案,但文件允许发送多行。确保以回车结束每一行。
  • 即我可以在文件中列出一系列输入并将其传递给命令吗?
  • 是的。看看我所做的编辑。我正准备再做一个。
  • 非常感谢。它适用于我的示例!顺便说一句:我听取了您的建议,并在我原来的帖子中更改了蝙蝠名称。