我有一个jar
文件,当从命令提示符运行时效果很好,我的意思是它要求用户输入,但是当从psexec
或powershell
或{{ 1}}不接受值并开始处理更多命令。
简而言之:当执行jar时,有一个菜单可供选择。如果选择在特定范围内,则效果很好,否则会给出消息jenkins
。在这里,我在循环中收到消息。任何人都可以建议我出错或需要对设置进行任何更改。
P.S.~我正在尝试在远程机器上执行命令而我正在使用entered value is not valid
答案 0 :(得分:1)
你能给出一个基本的想法,我怎么能在Jenkins中实现它。
所以
该职位的X平台工具是Expect。关于它的坏处是它在Windows上需要很多deps(如果你在Linux上运行它可能已经存在)。作为替代方案,您可以使用Autohotkey,但它无法轻松检测控制台文本(与预期读取控制台缓冲区不同)。但是,如果提示以确定的方式出现(即刚刚开始),您可以执行以下操作:
java -jar myfile.jar
sleep 5
autohotkey.exe SendKeys.ahk
SendKeys.ahk就像这样简单:
WinActivate <pid / window name ...>
Send answer1<ENTER>answer2<ENTER> ....
但可以使其更加健壮,以便密钥发送不依赖于控制台窗口状态。
在cmd中,您可以使用title
命令设置一些特定的窗口名称,然后您可以使用AHK激活该标题。