Cmd 使用包含引号和空格的命令行参数,例如XML字符串

Cmd 使用包含引号和空格的命令行参数,例如XML字符串,cmd,Cmd,我正在编写一个执行XML操作的命令行可执行文件。我希望能够在命令行中直接将XML字符串作为参数传递,但在处理XML属性中使用的双引号(“)时遇到困难。我尝试使用转义字符(^”),但这似乎不起作用。如何设置参数的格式以正确传入 以下是一个迄今为止不起作用的示例: "<?xml version=^"1.0^" encoding=^"UTF-8^"?><sbml xmlns=^"http://www.sbml.org/sbml/level2/version4^" level=^"2^

我正在编写一个执行XML操作的命令行可执行文件。我希望能够在命令行中直接将XML字符串作为参数传递,但在处理XML属性中使用的双引号(“)时遇到困难。我尝试使用转义字符(^”),但这似乎不起作用。如何设置参数的格式以正确传入

以下是一个迄今为止不起作用的示例:

"<?xml version=^"1.0^" encoding=^"UTF-8^"?><sbml xmlns=^"http://www.sbml.org/sbml/level2/version4^" level=^"2^" version=^"4^"><model metaid=^"_case00001^" id=^"case00001^" name=^"case00001^"></model></sbml>"

<?xml version="1.0" encoding="UTF-8"?><sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4"><model metaid="_case00001" id="case00001" name="case00001"></model></sbml>
“”

通常,反斜杠用于转义字符串的dbl引号,与解析xml不同,因此请尝试使用\“,或者,在可能的情况下,将其替换为单引号。

尝试不转义qoutes,而是转义“”: 这适用于cmd命令行中的测试:

  somecommand.exe "^<?xml version="1.0" encoding="UTF-8"?^>^<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4"^>^<model metaid="_case00001" id="case00001" name="case00001"^>^</model^>^</sbml^>"
somecommand.exe“^^”