2011-07-21 5 views
1

私はちょうど私が「プレスY/N」のような確認を求めます実行時にバッチファイルを持っているアリセンドyesまたはno

、事のシナリオで立ち往生しています。今、私はそのバッチファイルをantを使って自動化します。そう、 私のコードは、この

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

のようになりますが、私は、実行時にそれにキーボード値「Y」を渡す方法は考えている私を助けてください

答えて

0

inputタスクを使用しますか?

+0

いいえ、キーyを単独で送信する必要があります。 –

+0

ああ、バットファイル自体がプロンプトを出しています。とった。 batファイルのプロンプトをAntプロンプトに置き換えたいと思っていました。 (それはオプションですか?) それは可能でないかもしれません。 [この質問を参照](http://stackoverflow.com/questions/4176305/ant-exec-task-how-can-i-read-input-from-console-stdin) – dbreaux

+0

hmmmm、回避策があります。しかしそれはそれほど効果的ではありません。まあ、ありがとう。 –

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> 

は、しかし、これはいくつかのシナリオでは不安定であることが判明しました。

関連する問題