今天我不得不向Apache Ant文件添加一个任务。命令行应该是像没有双引号的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"
这是不坏,特别是如果你的文件/路径中有空格,但破坏管道到日志文件尤其好,但是程序认为有两个添加al文件参数“2>”和“路径\日志文件”)。
我工作围绕这通过调用批处理脚本,而不是只希望文件作为参数,但我想知道:是否有可能做到这一点没有这样的解决方法吗?
谢谢,这似乎是通用的方式来做到这一点(我也看到有一个错误属性,如果你想区分stdout和stderr)。 – schnaader 2009-10-21 18:35:40