2011-07-21 69 views
1

我只是在事情的情況下,螞蟻發送是或否

我有一個批處理文件,運行時將要求確認,如「按y/n」。現在我要使用ant自動化該批處理文件。所以,我的代碼看起來是這樣的

<exec executable="cmd.exe" dir="${base.dir}" > 
    <arg line="/c run.bat" /> 
</exec> 

,但我不知道怎麼打發在運行時的鍵盤值「Y」它 請幫我

回答

0

使用input任務?

+0

nope,它應該自己發送密鑰y。 –

+0

啊,bat文件本身在做提示。得到它了。以爲你想用Ant提示替換bat文件的提示。 (這是一個選項嗎?) 這可能是不可能的。看到[這個問題](http://stackoverflow.com/questions/4176305/ant-exec-task-how-can-i-read-input-from-console-stdin) – dbreaux

+0

嗯,有一個解決方法。但它不是那麼有效。好,謝謝你。 –

0

使用組合input任務和inputstring參數exec任務。

<input 
    message="All data is going to be deleted from DB continue (y/n)?" 
    validargs="y,n" 
    addproperty="do.delete" 
/> 

<exec 
    executable="cmd.exe" 
    dir="${base.dir}" 
    inputstring="${do.delete}" 
> 
    <arg line="/c run.bat" /> 
</exec> 
0

只需提供/ Y輸入,你會沒有螞蟻:

<exec executable="cmd.exe" dir="${base.dir}" > 
    <arg line="/c run.bat /y "/> 
</exec> 

另一種方法是使用inputstring任務。

例如爲:

<exec executable= "run.bat" failonerror="true" inputstring="Y"> 
</exec> 

但是這被證明是不穩定在某些情況下。