命令行参数中的空格

时间:2011-05-24 09:58:58

标签: c#

我需要解析一个字符串的参数,它包含空格,所以这就是我所做的:

search.exe "/SASE Lab Tools"

所以现在我将其声明为字符串:

        string type = string.Format("{0}", args[0]);

然后,

我需要这样做:

p.StartInfo.Arguments = "-R -H -h sinsscm01.ds.net " + type;

但我的结果在p.StartInfo.Arguments中包含空格。

当我对p.StartInfo.Arguments的输出所需的是:

-R -H -h sinsscm01.ds.jdsu.net "/SASE Lab Tools"

如何将" "添加到我的代码中?

3 个答案:

答案 0 :(得分:4)

您需要将它们包含在格式字符串中,例如

string type = string.Format("\"{0}\"", args[0]);

或者只是使用连接:

string type = "\"" + args[0] + "\"";

目前您的格式字符串有效地正在执行:

string type = args[0];

答案 1 :(得分:1)

不确定这是否对您有帮助:

p.StartInfo.Arguments = "-R -H -h sinsscm01.ds.net \"" + type + "\"";

答案 2 :(得分:1)

如果具有其他含义,您可以使用反斜杠添加大多数字符。例如\ t为tab,\“将给出引号等。