我已经看了已经提供的答案,但我仍然卡住了。 这是我目前有:
start "" "C:\Program Files (x86)\Spark\Spark.exe" echo Spark started
这工作正常。 但是现在我想把parameter passing给客户端,客户端必须用引号括起来。 我可以在命令行上执行以下操作:
"C:\Program Files (x86)\Spark\Spark.exe" "user=%USERNAME%&server=example.org"
它启动时填入用户和服务器字段。
但是,当我尝试编辑批处理脚本来添加这些引用包装的参数,我得到各种各样的错误取决于我如何尝试添加双引号和其中,等等。
那么,如何添加一个引用包装的参数到开始行呢?
我不小心把它工作,但一直没有能够重现它。 但是这并不是完全正确的。 用户名仍然是空白的,但是服务器已经被填写了。我忘了提及我正在使用一个环境variables作为用户名: %USERNAME%
所以这可能是我的问题是,我不能引号和使用环境variables?
事实certificate,问题的一部分是我使用了错误的参数,但最初我一直在使用正确的,所以我没有注意到。 从命令行,我应该有:
"C:\Program Files (x86)\Spark\Spark.exe" "username=%USERNAME%&server=example.org"
所以从batch file中,下面的工作:
start "" "C:\Program Files (x86)\Spark\Spark.exe" "username=%USERNAME%&server=example.org" echo Spark started
非常感谢,并指出,为了让我得到正确的答案。
你试过这个吗?
"C:\Program Files (x86)\Spark\Spark.exe" "\"user=foo&server=example.org\""
当我尝试一个简单的命令行测试和c + +程序(当我打印argv [1]参数时,我可以看到引号)。
更新:如果%USERNAME%中有空格,那么你需要像这样引用(见下文)。 我认为你可以删除其他报价。
"C:\Program Files (x86)\Spark\Spark.exe" user="%USERNAME%"&server=example.org