2013-06-20 2 views
0

У меня есть скрипт ant, который запускает интерактивный (который требует 2 пользовательских ввода) dos batch file, используя задачу exec. Я попытался использовать атрибуты «inputstring» (с двумя входами (промежуток между ними, между ними)) и «input» (файл с 2 записями)Автоматический ввод пользовательского ввода ant exec task

Только первый вход предоставлен задачей 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 
+0

, какая версия MS-DOS делает Java выполняется? – Mark

+0

Вы должны использовать задачу ввода => http://ant.apache.org/manual/Tasks/input.html – Rebse

ответ

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> 
+0

Спасибо за ваш ответ Николас. Я попробовал решение, и это не помогает ситуации. – Shankar