如何为.exe窗口在单行中提供交互式输入

时间:2016-10-18 06:49:43

标签: windows powershell automation

我正在尝试自动执行一个过程,该过程涉及向.exe实用程序提供交互式输入。它期望每个步骤的用户输入。我想在给出该命令的同时一次性提供所有这些值。例如:./test.exe 8\n1\n0等。我尝试过多种方式为{test.exe'实用程序提供输入,例如8\n1\n0 | ./test.exe8,1,2 | ./test.exe。这些都没有奏效。任何帮助如何将这些选项8,1,2传递给单行中的交互式实用程序test.exe,以便它对我的自动化有所帮助

2 个答案:

答案 0 :(得分:0)

没有固定的方法可以使用Powershell自动化第三方程序。并非所有公用事业公司都能提供这样做的能力。

  1. 我会查看实用程序文档中的所有开关。

  2. 尝试以下操作以查看是否可以获得任何内置帮助:test.exe -h,test.exe / h,test.exe / ?, test.exe - ?

  3. 使用sysinternals字符串实用程序尝试查找任何看起来像exe内部命令行开关的内容,您可以利用它们。 https://technet.microsoft.com/en-us/sysinternals/strings.aspx?f=255&MSPPError=-2147217396

答案 1 :(得分:0)

答案完全取决于您的可执行文件的工作方式。

如果可执行文件从标准输入读取,您可以按如下方式将输入重定向到它(PowerShell):

PS C:\> 8,1,2 | .\test.exe

如果可执行文件未从标准输入读取或清除控制台输入缓冲区,则此操作无效。

可执行文件还可以让您提供指定所需输入的命令行参数,但这取决于可执行文件。