该文件是目录,但空间会导致此错误:如何使用Process.Start打开一个Word文件(带空格的路径)?
string outfile = @"C:\Users\hp\Desktop\New folder (4)\outFile.doc";
Process.Start("WINWORD.EXE", outfile);
显示此消息
和 这
该文件是目录,但空间会导致此错误:如何使用Process.Start打开一个Word文件(带空格的路径)?
string outfile = @"C:\Users\hp\Desktop\New folder (4)\outFile.doc";
Process.Start("WINWORD.EXE", outfile);
显示此消息
和 这
假如是的Winword.exe Word文档的默认应用程序,你需要的是在这个过程中文件名属性,指定文件的路径,如下所示
Process p = new Process();
p.StartInfo.FileName = @"C:\Users\Someone\Documents\Path With Spaces\Word.docx";
p.Start();
在Visual Studio 2015年社区版
由于您的路径包含空格,通常包含程序argume nts用空格分隔,您的outfile
被解释为3个不同的参数。您需要用引号括起路径才能使其工作。
string outfile = @"""C:\Users\hp\Desktop\New folder (4)\outFile.doc""";
行情必须加倍,因为您使用了逐字字符串。
非常感谢:D 但是不会@与整个字符串作为一个单元进行交互? –
我并不确定你说的“互动”是什么意思,@确实说,整个字符串是逐字的。我的印象是,你错过了这个事实,用于'string'声明的引号不是用于将参数传递给进程的引号。 – kiziu
但我需要额外的引号将路径传递给进程吗? 正如我读的关于'过程'第二个参数是文件路径只 –
string outfile = "\"C:\\Users\\hp\\Desktop\\New folder (4)\\outFile.doc\"";
Process.Start("WINWORD.EXE", outfile);
它工作thx:D –
不客气:) –