C# 如何使用Process.Start打开word文件(带空格的路径)?
文件位于目录中,但空格导致此错误:C# 如何使用Process.Start打开word文件(带空格的路径)?,c#,process.start,C#,Process.start,文件位于目录中,但空格导致此错误: string outfile = @"C:\Users\hp\Desktop\New folder (4)\outFile.doc"; Process.Start("WINWORD.EXE", outfile); 显示此消息 及 这个 由于路径包含空格,并且程序参数通常由空格分隔,因此您的输出文件将被解释为3个不同的参数。您需要用引号将路径括起来才能使其正常工作 string outfile = @"""C:\Users\hp\Desktop\Ne
string outfile = @"C:\Users\hp\Desktop\New folder (4)\outFile.doc";
Process.Start("WINWORD.EXE", outfile);
显示此消息
及
这个
由于路径包含空格,并且程序参数通常由空格分隔,因此您的
输出文件将被解释为3个不同的参数。您需要用引号将路径括起来才能使其正常工作
string outfile = @"""C:\Users\hp\Desktop\New folder (4)\outFile.doc""";
引号必须加倍,因为您使用的是逐字字符串。由于路径包含空格,并且通常程序参数由空格分隔,因此您的输出文件将被解释为3个不同的参数。您需要用引号将路径括起来才能使其正常工作
string outfile = @"""C:\Users\hp\Desktop\New folder (4)\outFile.doc""";
引号必须加倍,因为您使用了逐字字符串。如果Winword.exe是Word文档的默认应用程序,则只需在process Filename属性中指定文档的路径,如下所示
Process p = new Process();
p.StartInfo.FileName = @"C:\Users\Someone\Documents\Path With Spaces\Word.docx";
p.Start();
在Visual Studio 2015 Community Edition中测试如果Winword.exe是Word文档的默认应用程序,则只需在process Filename属性中指定文档的路径,如下所示
Process p = new Process();
p.StartInfo.FileName = @"C:\Users\Someone\Documents\Path With Spaces\Word.docx";
p.Start();
string outfile = "\"C:\\Users\\hp\\Desktop\\New folder (4)\\outFile.doc\"";
Process.Start("WINWORD.EXE", outfile);
在Visual Studio 2015社区版中测试非常感谢它可以工作:D但不会将整个字符串作为一个单元进行@交互?我不太确定您所说的“交互”是什么意思,@会说,整个字符串是逐字逐句的。我的印象是您忽略了一个事实,string
声明中使用的引号不是用于将参数传递给流程的引号。但是我是否需要额外的引号来传递流程的路径?当我读到关于“进程”的内容时,第二个参数是文件路径,它只运行了很多次:D,但不@与整个字符串作为一个单元进行交互?我不太确定你说的“交互”是什么意思,@确实说,整个字符串是逐字逐句的。我的印象是您忽略了一个事实,string
声明中使用的引号不是用于将参数传递给流程的引号。但是我是否需要额外的引号来传递流程的路径?当我阅读有关“进程”的内容时,第二个参数只是文件路径
string outfile = "\"C:\\Users\\hp\\Desktop\\New folder (4)\\outFile.doc\"";
Process.Start("WINWORD.EXE", outfile);