【发布时间】:2017-05-08 15:52:03
【问题描述】:
我需要针对旧版应用程序自动执行一些任务。它没有 API,但供应商提供了一个 .exe,我可以运行它来针对应用程序执行各种任务。
我可以从 PowerShell 中调用 .exe 就好了,但调用它后会提示输入以下内容:
您是否同意许可:是 用户名:myuid 密码:SuperSecretPassword`我可以从命令提示符交互地运行它,并根据提示手动输入请求的输入,但我需要在脚本中自动执行此操作。 .exe 也不接受任何命令行参数(它是一个旧应用程序),我可以传递的唯一参数是我想对应用程序执行的命令。 .exe 仅基于命令行,没有 GUI,因此 GUI 自动化工具也不是一个选项。
我可以在 *nix shell 中使用expect 轻松完成此操作,但是鉴于我需要运行一个 .exe,这是不可能的。 Windows 中似乎没有“期望”等价物,所以我很好奇这是否可以在 PowerShell 中完成?
注意:对于 Windows 脚本,我更喜欢 PowerShell,但必要时可以使用 VBScript。
【问题讨论】:
-
现在 Windows 上有一个 Expect 替代方案:github.com/zetamatta/expect(查看已关闭的问题)
标签: powershell automation expect