【问题标题】:How to avoid that a string splits on every whitespace in command line如何避免字符串在命令行中的每个空格上拆分
【发布时间】:2014-04-26 02:07:51
【问题描述】:

我正在编写一个程序,用户可以在其中输入有关客户的一些信息,然后打开 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”。我怎样才能避免它在每个空格处分裂?

建议赞赏:)

【问题讨论】:

    标签: c#


    【解决方案1】:

    你需要用引号括起来:

     "This is a test file.dotx"
    

    MSDN

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

    【讨论】:

    • 我的男人!这正是我所需要的。谢谢你。很高兴知道这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多