【问题标题】:Auto supply user input ant exec task自动提供用户输入 ant exec 任务
【发布时间】:2013-06-20 16:17:07
【问题描述】:

我有一个 ant 脚本,它使用 exec 任务运行交互式(需要 2 个用户输入)dos 批处理文件。我尝试使用属性“inputstring”(有 2 个输入(中间有空格,中间有空格))和“input”(有 2 个条目的文件)

exec 任务只向批处理文件提供第一个输入,脚本无限期地等待第二个输入。

有没有办法通过 exec 任务(或)提供多个输入 是否有 dos 命令为交互模式批处理提供输入?

片段 1:

<exec dir="F:/upgrade" executable="cmd.exe" failonerror="true" output="upgrade.out" inputstring ="no&amp;&amp;yes">                     
    <arg line="/c upgrade process F:/script"/>
</exec>

片段 2:

<exec dir="F:/upgrade" executable="cmd.exe" failonerror="true" output="upgrade.out" input ="upgrade.input">                     
    <arg line="/c upgrade process F:/script"/>
</exec>

输入文件内容

no
yes

【问题讨论】:

标签: ant batch-file dos


【解决方案1】:

诀窍是将“ENTER”的按下模拟为单个输入。 “Enter”的代码是许多语言中的字符“\n”。它的 XML 编码形式是实体:&amp;#x0A;

所以这应该可以解决问题:

<exec dir="F:/upgrade" executable="cmd.exe" failonerror="true"
      output="upgrade.out" inputstring="no&#x0A;yes&#x0A;">                     
    <arg line="/c upgrade process F:/script"/>
</exec>

【讨论】:

  • 感谢您的回复尼古拉斯。我尝试了解决方案,但对这种情况没有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-05
  • 1970-01-01
  • 1970-01-01
  • 2010-10-03
  • 1970-01-01
  • 2015-09-25
相关资源
最近更新 更多