次のANTexecタグは、期待どおりに動作しません。
<exec executable="c:\scratch\test.cmd">
<arg value="A,B,C"/>
</exec>
実行すると、1つの引数を指定してtext.cmdを呼び出すことが期待されます。ただし、argは3つの別々の引数に拡張されています。
マニュアルによると、値は内容を単一の引数として渡すことになっていますが、3つとして渡されます(コンマで区切られた文字列の各コンポーネントに1つ)。
コマンド「、」をセミコロン(;)に置き換えてみましたが、これも機能しません。argのvalue属性は、指定された文字列をパスであるかのように解析するように見えますが、そうではありません。
「A、B、C」を1つの引数として渡す方法を知っている人はいますか?
完全を期すために、私のtest.cmdファイルは次のとおりです。
@echo off
echo Arg1: %1
echo Arg2: %2
echo Arg3: %3
echo Arg4: %4
echo Arg5: %5
echo Arg6: %6
echo Arg7: %7
echo Arg8: %8
echo Arg9: %9
antビルドの出力は次のとおりです。
[exec] Arg1: A
[exec] Arg2: B
[exec] Arg3: C
[exec] Arg4:
[exec] Arg5:
[exec] Arg6:
[exec] Arg7:
[exec] Arg8:
[exec] Arg9: