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

本文关键字:每一个 空格 分裂 何避免 字符串 命令行 | 更新日期: 2023-09-27 18:00:00

我正在编写一个程序,用户可以在其中键入有关客户的一些信息,然后打开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''This is a test file.dotx")。因此MessageBox.Show(args[0])的输出为"path''This"。我该如何避免它在每个空白处都会分裂?

建议感谢:)

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

您需要用引号将其括起来:

 "This is a test file.dotx"

MSDN:

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