如何避免字符串在命令行中的每个空格上分裂

时间:2014-04-25 11:29:59

标签: c#

我正在编写一个程序,用户可以在其中键入有关客户的一些信息,然后打开MS Word模型(* .dotx)。之后,他可以直接将其与另一个程序存档。所以我点击我为MS Word创建的按钮,然后它应该打开另一个程序(存档程序)并将路径传递给* .dotx文件。我得到了这段代码来传递路径并打开存档程序:

Process p = new Process();
p.StartInfo.Arguments = "Word " + secondArgument;
p.StartInfo.FileName = fileName;
p.Start();

字符串secondArgument是文件的路径,fileName是存档程序的exe文件的路径。

要获取存档程序中的参数,我在Form_Load()

中使用此代码
string[] args = Environment.GetCommandLineArgs();

然后我使用MsgBox来查看它是否正确传递。但它不是。 .dotx文件的名称中包含空格(例如" path \这是一个测试文件.dotx")。所以MessageBox.Show(args[0])的输出是" path \ This"。我怎样才能避免它在每个空格处分裂?

建议赞赏:)

1 个答案:

答案 0 :(得分:12)

您需要用引号括起来:

 "This is a test file.dotx"

MSDN

  

命令行参数由空格分隔。你可以使用双倍   引号(")包含参数中的空格。