今天我不得不向 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>”和“path\logfile”)。
我通过调用一个批处理脚本来解决这个问题,而不是只需要文件作为参数,但我想知道:如果没有这样的解决方法,是否可以做到这一点?