我正在尝试自动执行一个过程,该过程涉及向.exe实用程序提供交互式输入。它期望每个步骤的用户输入。我想在给出该命令的同时一次性提供所有这些值。例如:./test.exe 8\n1\n0
等。我尝试过多种方式为{test.exe'实用程序提供输入,例如8\n1\n0 | ./test.exe
和8,1,2 | ./test.exe
。这些都没有奏效。任何帮助如何将这些选项8,1,2传递给单行中的交互式实用程序test.exe,以便它对我的自动化有所帮助
答案 0 :(得分:0)
没有固定的方法可以使用Powershell自动化第三方程序。并非所有公用事业公司都能提供这样做的能力。
我会查看实用程序文档中的所有开关。
尝试以下操作以查看是否可以获得任何内置帮助:test.exe -h,test.exe / h,test.exe / ?, test.exe - ?
使用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
如果可执行文件未从标准输入读取或清除控制台输入缓冲区,则此操作无效。
可执行文件还可以让您提供指定所需输入的命令行参数,但这取决于可执行文件。