自动提供用户输入ant exec任务

时间:2013-06-20 16:17:07

标签: ant batch-file dos

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

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

1 个答案:

答案 0 :(得分:0)

诀窍是模拟按下“ENTER”进入单个输入。 “Enter”的代码是很多语言中的字符'\ n'。它的XML编码形式是实体:&#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>