Проблема с аргументом приложения консоли пакетного файла MSDOC - PullRequest
0 голосов
/ 02 декабря 2011

У меня проблема с командной строкой 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]"

Однако, когда я запускаю пакетный файл, обратите внимание, что строка / query исчезла, и вокруг &

были помещены пробелы
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]"

Как правильно передать эти аргументы в командный файл?

С уважением

Саймон Джексон

Ответы [ 2 ]

1 голос
/ 02 декабря 2011

Это связано с тем, что ~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]"
1 голос
/ 02 декабря 2011

один из ваших параметров использует =, а другой использует :, как /file= и /querystring:. Я подозреваю, что они оба должны использовать один и тот же символ.

...