今日、Apache Ant ファイルにタスクを追加する必要がありました。コマンドラインは次のようになっているはずです
myprogram --param1 --param2 path\somefile 2> path\logfile
これに関する問題は、これに次のようなものを使用した場合
<exec executable="$(myprogram)"
<arg value="--param1">
<arg value="--param2">
<arg path="$(somefile)">
<arg value="2>">
<arg path="$(logfile)">
</exec>
すべての引数は引用符で囲まれているため、コマンドは次のようになります。
myprogram "--param1" "--param2" "path\somefile" "2>" "path\logfile"
これは悪いことではなく、ファイル/パスにスペースがある場合に特に便利ですが、ログファイルへのパイプを破棄します (代わりに、プログラムは 2 つの追加のファイル引数 "2>" と "path\logfile" があると見なします)。
代わりに、ファイルをパラメーターとしてのみ必要とするバッチスクリプトを呼び出すことでこれを回避しましたが、疑問に思いました:そのような回避策なしでこれを行うことは可能ですか?