我正在编写一个程序,用户可以在其中键入有关客户的一些信息,然后打开MS Word模型(*.dotx).之后,他可以直接将其与另一个程序存档.所以我点击我为MS Word创建的按钮,然后它应该打开另一个程序(存档程序)并将路径传递给*.dotx文件.我得到这段代码来传递路径并打开存档程序:
Process p = new Process();
p.StartInfo.Arguments = "Word " + secondArgument;
p.StartInfo.FileName = fileName;
p.Start();
Run Code Online (Sandbox Code Playgroud)
字符串secondArgument是文件fileName的路径,是归档程序的exe文件的路径.
要获取存档程序中的参数,我将使用以下代码Form_Load():
string[] args = Environment.GetCommandLineArgs();
Run Code Online (Sandbox Code Playgroud)
然后我使用MsgBox来查看它是否正确传递.但事实并非如此..dotx文件的名称中包含空格(例如"path\This is a test file.dotx").所以输出MessageBox.Show(args[0])是"path\This".我怎样才能避免它在每个空格处分裂?
建议赞赏:)
Tim*_*ter 12
你需要用引号括起来:
"This is a test file.dotx"
Run Code Online (Sandbox Code Playgroud)
MSDN:
命令行参数由空格分隔.您可以使用双引号(")在参数中包含空格.