我有一个ant脚本,它使用exec任务运行交互式(需要2个用户输入)dos批处理文件。我尝试使用属性'inputstring'(有两个输入(两者之间的空间,中间的空间)和'输入'(有两个条目的文件)
exec任务仅向批处理文件提供第一个输入,脚本无限期地等待第二个输入。
有没有办法通过exec任务(或)提供多个输入 是否有dos命令为交互模式批处理提供输入?
摘录1:
<exec dir="F:/upgrade" executable="cmd.exe" failonerror="true" output="upgrade.out" inputstring ="no&&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
答案 0 :(得分:0)
诀窍是模拟按下“ENTER”进入单个输入。 “Enter”的代码是很多语言中的字符'\ n'。它的XML编码形式是实体:

。
所以这应该可以解决问题:
<exec dir="F:/upgrade" executable="cmd.exe" failonerror="true"
output="upgrade.out" inputstring="no
yes
">
<arg line="/c upgrade process F:/script"/>
</exec>