具有多个输入会话的批处理脚本

时间:2018-11-27 06:30:31

标签: powershell batch-file cmd

我正在尝试制作一个批处理脚本,以自动登录和退出Cisco Anyconnect。我注意到,Anyconnect附带了一个CLI应用程序,应该可以轻松完成此操作。但是,我的问题是CLI应用程序要求我在多个会话中提供输入。流程如下:

  1. 首先,我输入connect example.com并按Enter。在这里example.com是我希望连接的服务器。
  2. 然后我输入我的用户名,然后按Enter。
  3. 最后,我输入密码,然后按Enter。

我已经阅读了有关如何将多个参数传递给批处理脚本的指南,但似乎我需要做一些额外的工作,以便按照流程输入参数,例如,应输入参数就像模拟返回键一样。有建议的人吗?

2 个答案:

答案 0 :(得分:1)

批量运行以下内容可能有效或无效-取决于connect的编程方式:

(echo username&echo password)|connect example.com

注意:注意空格((echo username & echo password)看起来会更好,但是会在用户名上添加一个空格(可能使其成为无效的用户名)。

如果您的密码应包含任何有毒字符,则必须对其进行转义。 ({%与另一个%%%,所有其他(<>&|)带有尖号(例如^&

答案 1 :(得分:0)

如果您知道交互提供的输入,则可以在PowerShell中尝试以下操作。

'first input','second input','third input' | executable.exe

下面的例子。

'list disk','select disk 0','list partition' | diskpart.exe