2016-09-15 158 views

回答

1

假如是的Winword.exe Word文档的默认应用程序,你需要的是在这个过程中文件名属性,指定文件的路径,如下所示

 Process p = new Process(); 
     p.StartInfo.FileName = @"C:\Users\Someone\Documents\Path With Spaces\Word.docx"; 
     p.Start(); 

在Visual Studio 2015年社区版

+0

它工作thx:D –

+0

不客气:) –

2

由于您的路径包含空格,通常包含程序argume nts用空格分隔,您的outfile被解释为3个不同的参数。您需要用引号括起路径才能使其工作。

string outfile = @"""C:\Users\hp\Desktop\New folder (4)\outFile.doc"""; 

行情必须加倍,因为您使用了逐字字符串。

+0

非常感谢:D 但是不会@与整个字符串作为一个单元进行交互? –

+0

我并不确定你说的“互动”是什么意思,@确实说,整个字符串是逐字的。我的印象是,你错过了这个事实,用于'string'声明的引号不是用于将参数传递给进程的引号。 – kiziu

+0

但我需要额外的引号将路径传递给进程吗? 正如我读的关于'过程'第二个参数是文件路径只 –

0
测试
string outfile = "\"C:\\Users\\hp\\Desktop\\New folder (4)\\outFile.doc\"";  
Process.Start("WINWORD.EXE", outfile); 
相关问题