【发布时间】:2009-10-21 18:25:51
【问题描述】:
今天我不得不向 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”) .
我通过调用一个批处理脚本来解决这个问题,而不是将文件作为参数,但我想知道:如果没有这样的解决方法,是否可以做到这一点?
【问题讨论】:
标签: apache command-line ant arguments double-quotes