我有一个应用程序应该帮助我的项目在构建前和事件后事件处理方面。我正在使用ndesk.options进行命令行参数分析。当我的项目路径包含空格时,这给了我奇怪的结果。我认为这是ndesk.options的错,但我想我的应用程序是责怪。我把我的应用程序后,建事件,像这样:Visual Studio中的空格和反斜杠构建事件
build.exe --in="$(ProjectDir)" --out="c:\out\"
一个简单的foreach在ARGS []显示以下内容:
--in=c:\my project" --out=c:\out"
发生了什么事是,在每个参数的最后一个“被处理。就好像是逃过因此尾部的反斜杠被删除,整个事情被视为一个单独的参数
现在,我想我是通过简单地逃脱第一“为好,像这样聪明:。
build.exe --in=\"$(ProjectDir)" --out=\"c:\out\"
在这种情况下所得到的ARGS []看起来像这样:
--path="c:\my
project"
--out="c:\out"
的斜杠在参数仍吞咽和第一参数现在分裂。
将此参数[]传递给ndesk.options会产生错误的结果。
正确的命令行应该如何查看,以便正确的元素最终位于正确的args []槽中?另外,如何解析命令行参数,如有或没有ndesk.options?任何建议都是值得欢迎的。
在此先感谢
这的确如同魅力一般。在这里,我想我尝试了每种组合。非常感谢 :) – 2010-03-23 22:40:38