MSDOC批处理文件控制台应用程序参数问题

时间:2011-12-02 15:46:44

标签: command-line dos

我有一个MS DOS命令行问题,我试图从批处理文件中将一些参数传递给控制台应用程序,如下所示(注意[xemSA]“实际上是在前一行,stackoverflow正在放置它在另一条线上):

SET server=devmos
   UploadToDevMos.exe /server=server% /file="~dpdocuments\Word2003.doc" /querystring:"frequentlyused=0&clienttemplate=0&DocType=Minute&doctype=Minute&clientcodes=[xemSA]"

然而,当我运行批处理文件时,注意到/ querystring已经消失并且空间已放在&

C:\Temp\SJ\TestRunner\bin\Debug>SET server=devmos

C:\Temp\SJ\TestRunner\bin\Debug>UploadToDevMos.exe /server=devmos /file="C:\Temp
\SJ\TestRunner\bin\Debug\"frequentlyused=0  & clienttemplate=0  & DocType=Minute
  & doctype=Minute  & clientcodes=[JTCLuxemSA]"

如何正确地在批处理文件中传递这些参数?

亲切的问候

Simon Jackson

2 个答案:

答案 0 :(得分:1)

您的一个参数正在使用=,而另一个参数正在使用:,例如/file=/querystring:。我怀疑他们两个都应该使用相同的角色。

答案 1 :(得分:1)

这与~dp0未按预期扩展有关。我想你错过了“0”

我将测试改为此,并且工作正常:

SET server=devmos

ECHO UploadToDevMos.exe /server=%server% /file="%~dp0documents\Word2003.doc" /querystring:"frequentlyused=0&clienttemplate=0&DocType=Minute&doctype=Minute&clientcodes=[xemSA]"